Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Selenium, Python, Unittest: Trio untuk Automasi Ujian Tanpa Cacat

Selenium, Python, Unittest: Trio untuk Automasi Ujian Tanpa Cacat

WBOY
WBOYasal
2024-09-04 16:36:021144semak imbas

Menggabungkan Ujian Automatik dengan Python Selenium

Dalam senario pembangunan perisian yang pantas hari ini, ujian automatik adalah penting untuk mengekalkan kualiti dan kebolehpercayaan aplikasi. Python bersinar sebagai pilihan utama antara pelbagai alat automasi, terutamanya dalam kombinasi dengan Selenium untuk automasi web dan rangka kerja unittest untuk pentadbiran kes ujian. Blog ini akan merangkumi asas Python, kesesuaiannya untuk automasi Selenium, kepentingan rangka kerja unittest dan proses persediaan untuk menulis dan menjalankan skrip Python dalam PyCharm untuk ujian automasi. Selain itu, kami akan meneroka cara menggunakan Selenium unittest untuk penyepaduan lancar dan pernyataan ujian unit Python untuk mengesahkan hasil ujian.

Apakah Python?

Python ialah bahasa pengaturcaraan peringkat tinggi yang ditafsirkan yang terkenal dengan tumpuannya pada kebolehbacaan kod melalui lekukan yang ketara. Ia ditaip secara dinamik dan dikumpul sampah, menyokong pelbagai paradigma pengaturcaraan seperti pengaturcaraan berstruktur, berorientasikan objek dan berfungsi. Python menyediakan pelbagai modul dan pakej untuk pelbagai tugas tanpa memerlukan pemasangan tambahan. Python boleh digunakan dalam pelbagai bidang seperti pembangunan web, analisis data, automasi dan kecerdasan buatan.

Mengapa Selenium?

Selenium ialah alat sumber terbuka yang digunakan secara meluas untuk mengautomasikan penyemak imbas web. Ia menyediakan satu set alatan untuk ujian aplikasi web merentas pelayar dan platform yang berbeza. Selenium WebDriver, khususnya, membenarkan pengguna mengawal penyemak imbas web secara pengaturcaraan, membolehkan penciptaan ujian automatik yang berkuasa. Contohnya, menggabungkan Python Selenium boleh menyelaraskan proses ujian anda dengan ketara.

Berikut ialah beberapa sebab mengapa Selenium menjadi pilihan utama untuk automasi ujian:

  • Keserasian merentas penyemak imbas: Selenium WebDriver menyokong berbilang penyemak imbas, termasuk Chrome, Firefox, Safari dan Edge, memastikan liputan ujian menyeluruh merentas persekitaran yang berbeza.
  • Sokongan Bahasa: Selenium WebDriver menyediakan keserasian dengan beberapa bahasa pengaturcaraan, termasuk Java, Python, C# dan JavaScript. Fleksibiliti ini membolehkan penguji bekerja dengan bahasa pengaturcaraan pilihan mereka.
  • Ekosistem Kaya: Selenium mempunyai ekosistem yang luas dengan komuniti yang berkembang maju, menyediakan akses kepada pelbagai sumber, pemalam dan penyepaduan untuk meningkatkan proses ujian.
  • Interaksi Elemen: Selenium menyediakan mekanisme untuk mencari elemen pada halaman web menggunakan pelbagai strategi seperti ID, nama, XPath, pemilih CSS, dll. Ini membolehkan penguji berinteraksi dengan elemen tertentu dengan tepat.
  • Mengendalikan Makluman dan Tetingkap Timbul: Selenium boleh mengendalikan makluman, tetingkap timbul dan kotak dialog yang muncul semasa proses ujian, membolehkan senario automasi yang lebih komprehensif.
  • Pengendalian Elemen Web Dinamik: Selenium menyokong pengendalian elemen dinamik pada halaman web, seperti yang dijana oleh rangka kerja JavaScript seperti AngularJS, React atau Vue.js
  • Pengintegrasian Rangka Kerja Pengujian: Selenium boleh disepadukan dengan rangka kerja ujian popular seperti JUnit, TestNG, NUnit dan Pytest, menyediakan fungsi tambahan seperti pelaporan, pelaksanaan selari dan parameterisasi data.
  • Integrasi dengan Alat Integrasi Berterusan (CI): Selenium boleh disepadukan dengan lancar ke dalam saluran paip CI/CD menggunakan alatan seperti Jenkins, Travis CI atau CircleCI, yang membolehkan ujian automatik sebagai sebahagian daripada kitaran hayat pembangunan perisian.

Untuk mendapatkan maklumat lanjut tentang Selenium, anda boleh menyemak dokumentasi rasminya.

Mengapa kita menggunakan Selenium dengan Python?

  • Selenium ialah alat yang membantu mengautomasikan interaksi dengan pelayar web. Ia berfungsi dengan baik merentasi platform dan penyemak imbas yang berbeza, dan boleh digunakan dengan mudah dengan Python.
  • Python mempunyai perpustakaan berguna lain seperti Permintaan dan Panda yang boleh digabungkan dengan Selenium untuk menjadikan tugas automasi web lebih fleksibel dan berkesan.
  • Dengan menggunakan Selenium dengan Python, anda boleh mengintegrasikannya dengan mudah dengan rangka kerja Python untuk mengendalikan tugas yang rumit seperti mengumpulkan kes ujian, menyediakan persekitaran, membersihkan selepas ujian dan membuat penegasan.

Apakah rangka kerja unittest?

  • Rangka kerja ujian unit Python, dikenali sebagai PyUnit, ialah versi Python JUnit, menyokong automasi ujian dan perkongsian. Ia menawarkan ciri seperti lekapan, kes ujian, suite ujian dan pelari ujian untuk ujian automatik, membenarkan pelaksanaan daripada modul, kelas atau kaedah ujian individu.

Prasyarat untuk skrip automasi selenium + python:

Dalam blog ini, semasa praktikal, kami telah menggunakan versi di bawah untuk bahasa, rangka kerja, pakej & aplikasi masing-masing:

  1. Version Python : 3.12.0
  2. Version Sélénium : 4.19.0
  3. Version Pip : 24.0
  4. Version Python : 2023.3.5

Téléchargez et installez Python :

  • Pour commencer, téléchargez Python, installez-le en suivant les étapes d'installation.

  • Une fois l'installation terminée, vous pouvez vérifier en entrant la commande ci-dessous dans l'invite de commande qui affiche les détails de la version de Python installée.

  1. python —-version
  • Vous pouvez vérifier que pip est installé avec Python en entrant la commande ci-dessous dans l'invite de commande.
  1. pip —-version

Installez Sélénium :

  • Si vous avez l'intention d'exécuter le code à l'aide de l'invite de commande système, il est crucial d'installer le framework Selenium en exécutant la commande ci-dessous dans l'invite de commande.
    pip installer le sélénium

  • Après avoir terminé l'installation de Selenium. Vous pouvez confirmer l'installation en utilisant la commande ci-dessous.
    liste de pips

Téléchargez et installez l'éditeur Pycharm :
Pour télécharger Pycharm, visitez le site officiel et cliquez sur le bouton de téléchargement de l'édition communautaire.
Une fois le téléchargement terminé, double-cliquez sur le fichier .exe et procédez à l'installation.
Pour obtenir des conseils sur l'installation, vous pouvez vous référer au site Install PyCharm.

Création de cas de test

1. Configuration du projet PyCharm :

  • Lancez « PyCharm » et cliquez sur « Nouveau projet ». Remarque : Sélectionnez « Ne pas importer les paramètres » si vous l'installez pour la première fois.

Selenium, Python, Unittest: Trio for Flawless Test Automation

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Entrez le nom du projet, choisissez l'emplacement du projet, type d'interprète comme Project venv et cliquez sur le bouton « Créer ».

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Assurez-vous que votre projet créé s'affiche comme l'image ci-dessous.

Selenium, Python, Unittest: Trio for Flawless Test Automation

2. Installer le package sélénium :
Vous pouvez installer le package Selenium dans votre projet en utilisant l'une des deux méthodes suivantes :

  • Configuration du package à l'aide de l'icône :
  1. Cliquez sur l'icône « Python Package » en bas à gauche de l'EDI, recherchez le package « Selenium », sélectionnez-le, cliquez sur « Installer » et choisissez la version souhaitée.

Selenium, Python, Unittest: Trio for Flawless Test Automation

OU

  • Configuration du package à l'aide des paramètres :
  1. Ouvrez « Paramètres » depuis le menu « Fichier » ou la touche de raccourci « Ctrl+Alt+s ».

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Cliquez sur « Projet : nom du projet », sélectionnez « Interpréteur Python » et cliquez sur l'icône « + » de la section « Interpréteur Python ».

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Recherchez le package « Selenium », sélectionnez et cliquez sur le bouton « Installer le package ».

Selenium, Python, Unittest: Trio for Flawless Test Automation

3. Créez un fichier python et écrivez un scénario de test :

  • Créez un nouveau fichier Python avec le nom « LinearDemo » en sélectionnant « Fichier Python » dans la liste « Fichier > Nouveau » ou en cliquant avec le bouton droit sur le nom du projet et en sélectionnant « Nouveau ».

Selenium, Python, Unittest: Trio for Flawless Test Automation

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Une fois qu'un fichier python est créé, commencez à écrire du code de test de base à l'aide du framework Selenium et Unittest comme décrit ci-dessous.

  • La classe unittest.TestCase est utilisée pour créer des cas de test en la sous-classant. Il fournit un ensemble de méthodes de test et d'assertions pour vérifier le comportement et le résultat des fonctions et méthodes au sein d'un programme Python.

  • Définissez les méthodes de test au sein de la classe de scénario de test, chaque nom de méthode commençant par « test_ » pour être reconnu comme un scénario de test.

  • unittest.TestCase propose des assertions telles que assertEqual, assertTrue, assertRaises pour vérifier la sortie du site Web par rapport au résultat attendu.

  • Les fonctions 'setup' et 'teardown' servent d'annotations beforeMethod et afterMethod, s'exécutant respectivement avant et après chaque scénario de test.

  • Unittest.main() est essentiel à inclure à la fin de la classe pour exécuter du code via la ligne de commande.

Si vous souhaitez en savoir plus sur Unittest, visitez son site officiel pour plus d'informations.

Dans l'ensemble, ce script de test garantit que la navigation sur le site Web, la redirection de page et le formulaire de contact fonctionnent comme prévu, en utilisant des assertions pour valider les résultats attendus à chaque étape.

Exécutez le scénario de test créé et vérifiez le résultat :

  • Une fois le script de test écrit, procédez à l'exécution du test et analysez soigneusement les résultats . Pour exécuter le scénario de test, accédez à la classe de test, à la méthode principale ou à la méthode de test, cliquez ou cliquez dessus avec le bouton droit et choisissez l'option « Exécuter ». Les résultats seront affichés dans la fenêtre de l'outil Run de PyCharm.

Selenium, Python, Unittest: Trio for Flawless Test Automation

  • Résultats des tests

  • Les résultats affichés dans la fenêtre de l'outil PyCharm Run fournissent des informations importantes sur l'exécution du test.

  • Comme vous pouvez le constater, le test que nous avons créé a réussi et fonctionne correctement comme prévu.

  • En examinant ces résultats, nous pouvons comprendre quels tests ont réussi, échoué ou ont été ignorés.

  • Cela nous aide à améliorer notre processus de test et à rendre nos scripts meilleurs et plus précis.

Selenium, Python, Unittest: Trio for Flawless Test Automation

Conclusion:

Python, avec son framework unittest intégré, offre une approche simple et complète de l'automatisation des tests. La syntaxe simple du framework, la prise en charge des méthodes d'assertion et la découverte automatisée des tests facilitent l'écriture et l'exécution de tests. De plus, la possibilité d'organiser les cas de test en suites et de les intégrer aux exécuteurs de tests améliore la réutilisabilité et rationalise le processus de test, faisant de Python et de Unittest un choix efficace pour les tests d'automatisation. Cependant, il existe certaines lacunes telles que la dépréciation des valeurs renvoyées par les méthodes de test autres que la valeur par défaut None dans la version 3.11, et les défis liés à la gestion de suites de tests plus volumineuses car certains modèles de développement deviennent moins efficaces.

nous avons acquis des connaissances sur les raisons pour lesquelles nous utilisons Python avec Selenium et le framework Unittest avec un exemple de base sur notre blog. Dans les prochains articles de blog, nous aborderons des sujets relatifs au framework Python et Unittest tels que le modèle objet de page, les usines de données, les appareils, les rapports, les combinaisons de tests et bien d'autres. Restez à l’écoute pour plus de contenu lié à l’automatisation dans nos prochains articles de blog !

Continuez à pratiquer et à explorer pour maîtriser davantage ces outils puissants avec Jignect.

Découvrez comment notre approche méticuleuse et nos solutions de pointe ont élevé la qualité et la performance vers de nouveaux sommets. Commencez votre voyage dans le monde de l’excellence en matière de tests logiciels. Pour en savoir plus, reportez-vous aux Outils et technologies et aux Services d'assurance qualité.

Si vous souhaitez en savoir plus sur les formidables services que nous proposons, n'hésitez pas à nous contacter.
Bons tests ! ?

Atas ialah kandungan terperinci Selenium, Python, Unittest: Trio untuk Automasi Ujian Tanpa Cacat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn