Test WebUI avec Python2.6 + Selenium 2.44.0 - paramètre de profil

Notez les paramètres de profil sur lesquels vous êtes tombé par hasard lors de l'écriture de tests avec Selenium. Je suis nouveau sur Python, alors comprenez que le code peut être étrange.

Construire l'environnement

La procédure de construction est écrite sur de nombreux sites, je vais donc l'omettre.

Je me suis référé au site suivant. http://treeapps.hatenablog.com/entry/2014/10/16/015439 https://pypi.python.org/pypi/selenium

C'est une configuration de Xvfb + FireFox + Selenium (2.44.0).

paramètres de profil

Si l'User-Agent est identifié et que les pages optimisées pour le PC / smartphone sont séparées, un test qui spécifie l'UA (Safari mobile, etc.) du smartphone est nécessaire. De plus, lors de l'exécution du test dans l'environnement de développement, je pense qu'il peut s'agir d'un certificat oléore. Pour les prendre en charge, le paramétrage initial du profil est requis.

sp_webdriver.py


import os
from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile

profile = FirefoxProfile()
#Ignorer les avertissements de certificat
profile.set_preference("webdriver_assume_untrusted_issuer", False)
profile.set_preference("webdriver_accept_untrusted_certs", True)
profile.accept_untrusted_certs = True

# User-Réécriture d'agent(Exemple: iOS 8.0)
profile.set_preference("general.useragent.override", "Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4")

profile.update_preferences()

driver = webdriver.Firefox(profile)

Rédiger un cas de test

J'écrirai un cas de test. Lors de l'écriture, je pense que c'est une bonne idée de créer une classe de base, puis d'implémenter uniquement la partie test.

TestCase.py


# -*- coding: utf-8 -*-

import sys, os
import datetime
from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
import unittest

class TestCase(unittest.TestCase):

    def setUp(self):
        profile = FirefoxProfile()
        profile.set_preference("webdriver_assume_untrusted_issuer", False)
        profile.set_preference("webdriver_accept_untrusted_certs", True)
        profile.accept_untrusted_certs = True
        profile.set_preference("general.useragent.override", "Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4")
        profile.update_preferences()
        self.driver = webdriver.Firefox(profile)

        self.base_url = "http://m.finance.yahoo.co.jp/"
        self.driver.implicitly_wait(30)
        self.accept_next_alert = True

    def ssAssertEquals(self, left, right):
        try:
            #Prendre une capture d'écran sur assertionError
            self.assertEqual(left, right)
        except AssertionError, e:
            now = datetime.datetime.now()
            self.driver.save_screenshot("/var/log" + self.__class__.__name__ + "_" + now.strftime("%Y%m%d%H%M%S") + ".png ")
            raise e

    def test_sitetop(self):
        self.driver.get(self.base_url)
        self.ssAssertEquals(u"Y!la finance", self.driver.title)

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    unittest.main()

Recommended Posts

Test WebUI avec Python2.6 + Selenium 2.44.0 - paramètre de profil
Jugement des nombres premiers avec Python
Jugement des nombres premiers avec python
ScreenShot avec Selenium (édition Python)
Grattage avec du sélénium [Python]
Grattage au sélénium en Python
Grattage avec Selenium + Python Partie 1
Python: travailler avec Firefox avec du sélénium
Grattage avec du sélénium en Python
Grattage avec Selenium + Python Partie 2
[Automatisé avec python! ] Partie 1: fichier de configuration
Scraping avec Selenium en Python (Basic)
Grattage avec Python, Selenium et Chromedriver
Sortie du journal de test unitaire avec python
Ecrire le code de test du sélénium en python
Obtenir le code HTML de l'élément avec du sélénium Python
[Python] Test super facile avec instruction assert
Test de stress avec Locust écrit en Python
Tester les programmes non fonctionnalisés Python avec GitLab CI
Générer des données de test japonais avec Python Faker
Comment faire un test de sac avec python
Intégration avec setuptools / python setup.py test / pytest-runner
[Python] Utiliser automatiquement le navigateur avec Selenium
Pratiquer le web scraping avec Python et Selenium
Utilisez le pilote Web phantomjs de sélénium avec unittest de python
Grattage au sélénium
[Python / Selenium] XPath
FizzBuzz en Python3
Grattage au sélénium ~ 2 ~
Grattage avec Python
Statistiques avec python
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Grattage avec Python
Python avec Go
Essayez d'exécuter Google Chrome avec Python et Selenium
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
Grattage avec du sélénium
Commençant par Selenium
python commence par ()
Connectez-vous à Yahoo Business avec Selenium Python
Faites glisser et déposez un fichier local avec Selenium (Python)
Profil de machine virtuelle Python
avec syntaxe (Python)
Test d'intégrité Python
Bingo avec python
Zundokokiyoshi avec python
[Petite histoire] Tester la génération d'images avec Python / OpenCV
ARC037 Baum teste poliment avec la fonction récursive Python
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Automatisez les tests d'interface utilisateur avec l'API Selenium | Exploration de sites Web avec python
Utilisez FireFox (via Homebrew-cask) avec les liaisons Selenium WebDriver Python
Installez le sélénium sur votre Mac et essayez-le avec python