Lors de l'écriture de scripts d'automatisation de tests dans Selenium Python, il est crucial de vérifier que les résultats réels correspondent aux résultats attendus. C’est là que les affirmations entrent en jeu. Les assertions permettent de garantir que votre application fonctionne comme prévu en vérifiant des conditions spécifiques et en interrompant l'exécution en cas d'échec.
Dans ce blog, nous détaillerons le concept d'assertions dans Selenium Python, fournirons des exemples de code faciles à suivre et expliquerons comment ils peuvent rendre vos scripts de test plus robustes. Allons-y !
En termes simples, les assertions sont des points de contrôle dans votre script de test. Ils comparent les résultats réels avec les résultats attendus. Et si la comparaison échoue, l'assertion lève une exception, marquant le test comme échoué.
Par exemple, si vous testez une page de connexion, vous pouvez affirmer que la connexion avec des informations d'identification valides redirige l'utilisateur vers un tableau de bord.
Python a un module unittest intégré, qui fournit des méthodes d'assertion qui fonctionnent bien avec Selenium. Certaines des méthodes d'assertion sont :
assertEqual(a, b)
Vérifie si a est égal à b.
assertTrue(condition)
Vérifie si une condition donnée est vraie.
assertFalse(condition)
Vérifie si une condition donnée est fausse.
assertIn(a, b)
Vérifie que a est présent dans b.
Explorons avec un exemple, en supposant que nous souhaitons tester la page d'accueil de Google et affirmer que le titre contient "Google". Nous allons créer notre fichier with app.py avec le contenu suivant : –
# app.py file from selenium import webdriver import unittest class GoogleHomepageTest(unittest.TestCase): def setUp(self): # Set up the WebDriver self.driver = webdriver.Chrome() self.driver.get("https://www.google.com") def test_title(self): driver = self.driver page_title = driver.title # Assert that "Google" is in the title self.assertIn("Google", page_title, "Page title does not contain 'Google'") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
Ci-dessus, nous avons défini notre test et qui commence par la configuration de l'environnement en initialisant le navigateur et en naviguant vers la page d'accueil de Google. Ensuite, le scénario de test est en cours d'exécution, qui récupère le titre de la page et vérifie qu'elle contient le mot « Google ». Enfin, la phase de démontage consiste à fermer le navigateur pour nettoyer l'environnement de test.
Gardez les assertions simples : Évitez les assertions trop compliquées. Ils doivent être clairs et se concentrer sur une chose.
Fournissez des messages utiles : Ajoutez des messages significatifs aux assertions pour un meilleur débogage en cas d'échec.
Utilisez les assertions avec parcimonie : Bien que les assertions soient vitales, un trop grand nombre peut encombrer votre script. Utilisez-les là où ils ajoutent véritablement de la valeur.
Combinez des assertions avec des journaux : Utilisez la journalisation pour suivre l'exécution des tests et compléter les assertions.
Les assertions dans Selenium Python sont vos outils incontournables pour valider les résultats des tests. Ils rendent non seulement vos tests plus fiables, mais aident également à identifier rapidement les échecs. En combinant des assertions avec une conception de test claire, vous pouvez garantir que vos scripts d'automatisation sont à la fois efficaces et faciles à maintenir.
Dans la partie suivante de ce blog, nous explorerons comment utiliser chromdriver avec une application flask.
Les assertions sont des points de contrôle dans vos scripts de test Selenium qui comparent les résultats réels aux résultats attendus. Si la comparaison échoue, l'assertion lève une exception, marquant le test comme ayant échoué. Ils sont cruciaux car ils garantissent que votre application se comporte comme prévu et aident à identifier les problèmes lors des tests.
Certaines méthodes d'assertion couramment utilisées dans le module unittest de Python incluent :
assertEqual(a, b) : vérifie si a est égal à b.
assertTrue(condition) : garantit que la condition donnée est vraie.
assertFalse(condition) : garantit que la condition donnée est fausse.
assertIn(a, b) : vérifie que a est présent dans b.
Vous pouvez utiliser la méthode assertIn pour vérifier si un mot spécifique est présent dans le titre de la page Web. Voici un exemple :
# app.py file from selenium import webdriver import unittest class GoogleHomepageTest(unittest.TestCase): def setUp(self): # Set up the WebDriver self.driver = webdriver.Chrome() self.driver.get("https://www.google.com") def test_title(self): driver = self.driver page_title = driver.title # Assert that "Google" is in the title self.assertIn("Google", page_title, "Page title does not contain 'Google'") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
Cela vérifie que le mot « Google » figure dans le titre de la page et lève une exception si ce n'est pas le cas.
Configuration : Initialisez le WebDriver et accédez à la page Web cible.
Exécution du scénario de test : Effectuez des actions (comme cliquer ou saisir des données) et vérifier les résultats à l'aide d'assertions.
Démontage : Fermez le navigateur et nettoyez l'environnement de test.
Gardez les assertions simples : Concentrez-vous sur une seule condition pour faciliter le débogage.
Fournissez des messages utiles : Ajoutez des messages d'échec significatifs pour un dépannage plus facile.
Utilisez les assertions avec parcimonie : Incluez uniquement les assertions qui ajoutent de la valeur au test.
Combinez des assertions avec des journaux : Utilisez la journalisation avec les assertions pour suivre l'exécution des tests.
La prochaine partie du blog explorera comment utiliser ChromeDriver avec une application Flask, fournissant des informations sur l'intégration de Selenium avec un cadre d'application Web pour des scénarios de test plus avancés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!