Maison  >  Article  >  développement back-end  >  Selenium, Python, Unittest : trio pour une automatisation parfaite des tests

Selenium, Python, Unittest : trio pour une automatisation parfaite des tests

WBOY
WBOYoriginal
2024-09-04 16:36:021040parcourir

Intégration de tests automatisés avec Python Selenium

Dans le scénario de développement logiciel actuel, où le rythme est rapide, les tests automatisés sont essentiels pour maintenir la qualité et la fiabilité des applications. Python se présente comme un premier choix parmi divers outils d'automatisation, notamment en combinaison avec Selenium pour l'automatisation Web et le framework unittest pour l'administration des cas de test. Ce blog couvrira les bases de Python, son adéquation à l'automatisation Selenium, l'importance du framework unittest et le processus de configuration pour l'écriture et l'exécution de scripts Python dans PyCharm pour les tests d'automatisation. De plus, nous explorerons comment utiliser le test unitaire Selenium pour une intégration transparente et les assertions de test unitaire Python pour valider les résultats des tests.

Qu’est-ce que Python ?

Python est un langage de programmation interprété de haut niveau connu pour l'accent mis sur la lisibilité du code grâce à une indentation significative. Il est typé dynamiquement et ramassé, prenant en charge divers paradigmes de programmation tels que la programmation structurée, orientée objet et fonctionnelle. Python fournit une large gamme de modules et de packages pour diverses tâches sans nécessiter d'installation supplémentaire. Python est applicable dans divers domaines tels que le développement Web, l'analyse de données, l'automatisation et l'intelligence artificielle.

Pourquoi le Sélénium ?

Selenium est un outil open source largement utilisé pour automatiser les navigateurs Web. Il fournit une suite d'outils pour tester des applications Web sur différents navigateurs et plates-formes. Selenium WebDriver, en particulier, permet aux utilisateurs de contrôler les navigateurs Web par programmation, permettant ainsi la création de puissants tests automatisés. Par exemple, la combinaison de Python Selenium peut rationaliser considérablement vos processus de test.

Voici quelques raisons pour lesquelles Selenium est un choix privilégié pour l'automatisation des tests :

  • Compatibilité entre navigateurs : Selenium WebDriver prend en charge plusieurs navigateurs, notamment Chrome, Firefox, Safari et Edge, garantissant une couverture de test complète dans différents environnements.
  • Prise en charge linguistique : Selenium WebDriver offre une compatibilité avec plusieurs langages de programmation, notamment Java, Python, C# et JavaScript. Cette flexibilité permet aux testeurs de travailler avec leur langage de programmation préféré.
  • Écosystème riche : Selenium dispose d'un vaste écosystème avec une communauté florissante, donnant accès à de nombreuses ressources, plugins et intégrations pour améliorer le processus de test.
  • Interaction avec les éléments : Selenium fournit des mécanismes pour localiser des éléments sur une page Web en utilisant diverses stratégies telles que l'ID, le nom, XPath, les sélecteurs CSS, etc. Cela permet aux testeurs d'interagir avec des éléments spécifiques avec précision.
  • Gestion des alertes et des fenêtres contextuelles : Selenium peut gérer les alertes, les fenêtres contextuelles et les boîtes de dialogue qui apparaissent pendant le processus de test, permettant ainsi des scénarios d'automatisation plus complets.
  • Gestion dynamique des éléments Web : Selenium prend en charge la gestion des éléments dynamiques sur les pages Web, tels que ceux générés par les frameworks JavaScript comme AngularJS, React ou Vue.js
  • Intégration du framework de test : Selenium peut être intégré à des frameworks de test populaires tels que JUnit, TestNG, NUnit et Pytest, offrant des fonctionnalités supplémentaires telles que la création de rapports, l'exécution parallèle et le paramétrage des données.
  • Intégration avec les outils d'intégration continue (CI) : Selenium peut être intégré de manière transparente dans les pipelines CI/CD à l'aide d'outils tels que Jenkins, Travis CI ou CircleCI, permettant des tests automatisés dans le cadre du cycle de vie de développement logiciel.

Pour plus d'informations sur Selenium, vous pouvez consulter sa documentation officielle.

Pourquoi utilisons-nous Selenium avec Python ?

  • Selenium est un outil qui permet d'automatiser les interactions avec les navigateurs Web. Il fonctionne bien sur différentes plates-formes et navigateurs et peut être facilement utilisé avec Python.
  • Python dispose d'autres bibliothèques utiles telles que Requests et Pandas qui peuvent être combinées avec Selenium pour rendre les tâches d'automatisation Web plus flexibles et efficaces.
  • En utilisant Selenium avec Python, vous pouvez facilement l'intégrer aux frameworks Python pour gérer des tâches complexes telles que le regroupement de cas de test, la configuration d'environnements, le nettoyage après les tests et l'élaboration d'assertions.

Qu’est-ce que le framework unittest ?

  • Le framework de tests unitaires Python, connu sous le nom de PyUnit, est la version Python de JUnit, prenant en charge l'automatisation et le partage des tests. Il offre des fonctionnalités telles que des montages, des cas de test, des suites de tests et un exécuteur de tests pour les tests automatisés, permettant l'exécution à partir de modules, de classes ou de méthodes de test individuelles.

Prérequis pour les scripts d'automatisation sélénium + python :

Dans ce blog, pendant les travaux pratiques, nous avons utilisé les versions ci-dessous pour les langages, frameworks, packages et applications respectifs :

  1. Python-Version: 3.12.0
  2. Selenium-Version: 4.19.0
  3. Pip-Version: 24.0
  4. Pycharm-Version: 2023.3.5

Python herunterladen und installieren:

  • Um zu beginnen, laden Sie Python herunter und installieren Sie es unter Anleitung der Installationsschritte.

  • Sobald die Installation abgeschlossen ist, können Sie dies überprüfen, indem Sie den folgenden Befehl in die Eingabeaufforderung eingeben. Daraufhin werden die Details der installierten Python-Version angezeigt.

  1. python —-version
  • Sie können überprüfen, ob pip zusammen mit Python installiert ist, indem Sie den folgenden Befehl in die Eingabeaufforderung eingeben.
  1. pip —-version

Selenium installieren:

  • Wenn Sie beabsichtigen, den Code über die System-Eingabeaufforderung auszuführen, ist es wichtig, das Selenium-Framework zu installieren, indem Sie den folgenden Befehl in der Eingabeaufforderung ausführen.
    pip install selenium

  • Nach Abschluss der Selenium-Installation. Sie können die Installation mit dem folgenden Befehl bestätigen.
    Pip-Liste

Pycharm Editor herunterladen und installieren:
Um Pycharm herunterzuladen, besuchen Sie die offizielle Website und klicken Sie auf den Download-Button der Community Edition.
Sobald der Download abgeschlossen ist, doppelklicken Sie auf die .exe-Datei und fahren Sie mit der Installation fort.
Anleitungen zur Installation finden Sie auf der Install PyCharm-Site.

Testfallerstellung

1. PyCharm-Projekt-Setup:

  • Starten Sie „PyCharm“ und klicken Sie auf „Neues Projekt“. Hinweis: Wählen Sie „Einstellungen nicht importieren“, wenn Sie es zum ersten Mal installieren.

Selenium, Python, Unittest: Trio for Flawless Test Automation

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Geben Sie den Projektnamen ein, wählen Sie den Speicherort des Projekts, den Dolmetschertyp als Projektvenv und klicken Sie auf die Schaltfläche „Erstellen“.

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Stellen Sie sicher, dass Ihr erstelltes Projekt wie im Bild unten angezeigt wird.

Selenium, Python, Unittest: Trio for Flawless Test Automation

2. Selenium-Paket installieren:
Sie können das Selenium-Paket mit einer der beiden folgenden Methoden in Ihrem Projekt installieren:

  • Paketeinrichtung über das Symbol:
  1. Klicken Sie unten links in der IDE auf das Symbol „Python-Paket“, suchen Sie nach dem „Selenium“-Paket, wählen Sie es aus, klicken Sie auf „Installieren“ und wählen Sie die gewünschte Version aus.

Selenium, Python, Unittest: Trio for Flawless Test Automation

ODER

  • Paketeinrichtung mit Einstellungen:
  1. Öffnen Sie „Einstellungen“ über das Menü „Datei“ oder die Tastenkombination „Strg+Alt+s“.

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Klicken Sie auf „Projekt: Projektname“, wählen Sie „Python-Interpreter“ und klicken Sie auf das „+“-Symbol im Abschnitt „Python-Interpreter“.

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Suchen Sie das Paket „Selenium“, wählen Sie es aus und klicken Sie auf die Schaltfläche „Paket installieren“.

Selenium, Python, Unittest: Trio for Flawless Test Automation

3. Python-Datei erstellen und Testfall schreiben:

  • Erstellen Sie eine neue Python-Datei mit dem Namen „LinearDemo“, indem Sie „Python-Datei“ aus der Liste „Datei >“ auswählen. „Neu“-Menü oder indem Sie mit der rechten Maustaste auf den Projektnamen klicken und „Neu“ auswählen.

Selenium, Python, Unittest: Trio for Flawless Test Automation

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Sobald eine Python-Datei erstellt ist, beginnen Sie mit dem Schreiben von grundlegendem Testcode mit Hilfe von Selenium und dem Unittest-Framework, wie unten beschrieben.

  • Die Klasse „unittest.TestCase“ wird zum Erstellen von Testfällen durch Unterklassenbildung verwendet. Es bietet eine Reihe von Testmethoden und Behauptungen, um das Verhalten und die Ausgabe von Funktionen und Methoden innerhalb eines Python-Programms zu überprüfen.

  • Definieren Sie Testmethoden innerhalb der Testfallklasse, wobei jeder Methodenname mit „test_“ beginnt, um als Testfall erkannt zu werden.

  • unittest.TestCase bietet Behauptungen wie „asserEqual“, „asserTrue“, „asserRaises“, um die Website-Ausgabe mit dem erwarteten Ergebnis zu vergleichen.

  • Die Funktionen „setup“ und „teardown“ dienen als beforeMethod- und afterMethod-Annotationen und werden jeweils vor und nach jedem Testfall ausgeführt.

  • Unittest.main() muss unbedingt am Ende der Klasse eingefügt werden, um Code über die Befehlszeile auszuführen.

Wenn Sie mehr über Unittest erfahren möchten, besuchen Sie die offizielle Website für weitere Informationen.

Insgesamt stellt dieses Testskript sicher, dass die Website-Navigation, die Seitenumleitung und das Kontaktformular wie erwartet funktionieren, indem es Behauptungen verwendet, um die erwarteten Ergebnisse bei jedem Schritt zu validieren.

Führen Sie den erstellten Testfall aus und überprüfen Sie das Ergebnis:

  • Sobald das Testskript geschrieben ist, führen Sie den Test aus und analysieren Sie die Ergebnisse sorgfältig . Um den Testfall auszuführen, gehen Sie zur Testklasse oder Hauptmethode oder klicken Sie auf die Testmethode oder klicken Sie mit der rechten Maustaste darauf und wählen Sie die Option „Ausführen“. Die Ergebnisse werden im Fenster „Ausführen“ von PyCharm angezeigt.

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Ergebnisse des Testlaufs

  • Die im PyCharm Run-Toolfenster angezeigten Ergebnisse liefern wichtige Informationen zum Testlauf.

  • Wie Sie sehen können, hat der von uns erstellte Test bestanden und funktioniert wie erwartet ordnungsgemäß.

  • Durch die Überprüfung dieser Ergebnisse können wir nachvollziehen, welche Tests bestanden, nicht bestanden oder übersprungen wurden.

  • Dies hilft uns, unseren Testprozess zu verbessern und unsere Skripte besser und präziser zu machen.

Selenium, Python, Unittest: Trio for Flawless Test Automation

Abschluss:

Python bietet mit seinem integrierten Unittest-Framework einen unkomplizierten und umfassenden Ansatz zur Testautomatisierung. Die einfache Syntax des Frameworks, die Unterstützung von Assertionsmethoden und die automatisierte Testerkennung erleichtern das Schreiben und Ausführen von Tests. Darüber hinaus verbessert die Möglichkeit, Testfälle in Suiten zu organisieren und mit Testläufern zu integrieren, die Wiederverwendbarkeit und rationalisiert den Testprozess, was Python und Unittest zu einer effizienten Wahl für Automatisierungstests macht. Es gibt jedoch einige Mängel, wie z. B. die veraltete Rückgabe von Werten von anderen Testmethoden als dem Standardwert „None“ in Version 3.11 und Herausforderungen bei der Verwaltung größerer Testsuiten, da bestimmte Entwicklungsmuster weniger effizient werden.

Anhand eines einfachen Beispiels in unserem Blog haben wir Erkenntnisse darüber gewonnen, warum wir Python mit Selenium und dem Unittest-Framework verwenden. In zukünftigen Blog-Beiträgen werden wir über Python- und Unittest-Framework-Themen wie Seitenobjektmodell, Datenfabriken, Vorrichtungen, Berichterstellung, Testanzüge und vieles mehr schreiben. Seien Sie gespannt auf weitere Inhalte zum Thema Automatisierung in unseren kommenden Blogbeiträgen!

Üben und erforschen Sie weiter, um diese leistungsstarken Werkzeuge mit Jignect besser zu beherrschen.

Sehen Sie, wie unser sorgfältiger Ansatz und unsere innovativen Lösungen Qualität und Leistung auf ein neues Niveau gehoben haben. Beginnen Sie Ihre Reise in die Welt der herausragenden Softwaretests. Weitere Informationen finden Sie unter Tools & Technologien und QA-Dienste.

Wenn Sie mehr über die tollen Dienstleistungen erfahren möchten, die wir anbieten, kontaktieren Sie uns.
Viel Spaß beim Testen! ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn