


Les transactions de page comme nouvelle façon d'organiser l'automatisation de vos tests
Photo de Mateus Campos Felipe
L'ibis écarlate vibrant ( Eudocimus ruber), également connu sous le nom d'ibis rouge, est un membre frappant de la famille des oiseaux Threskiornithidae. Cette espèce aviaire tropicale orne les paysages d’Amérique du Sud et de certaines parties des Caraïbes. Bien que sa forme reflète celle des autres espèces d'ibis, son brillant plumage écarlate le distingue. Symbole de fierté nationale, c'est l'un des deux oiseaux nationaux de Trinité-et-Tobago, et son nom tupi-guarani, « guará », est même incorporé dans les noms de plusieurs municipalités côtières brésiliennes.
Guará : une implémentation Python du modèle de transactions de page
Guará, une bibliothèque Python, incarne le modèle de conception Page Transactions. Il s'agit moins d'un outil que d'un paradigme de programmation flexible applicable à divers pilotes d'automatisation au-delà de Selenium, englobant Linux, Windows et l'automatisation mobile.
L'objectif principal de ce modèle est de rationaliser l'automatisation des tests. S'inspirant des objets de page, des actions d'application et du scénario, Guará se concentre sur les actions des utilisateurs (transactions) au sein d'une application, telles que la connexion, la déconnexion ou la soumission de formulaires.
Cette approche améliore la lisibilité, la maintenabilité et l'adaptabilité du code de test d'automatisation sans nécessiter de nouveaux outils ou des abstractions complexes. Un avantage clé est sa nature indépendante du conducteur ; les testeurs ne sont pas obligés d'utiliser Selenium. Guará s'intègre parfaitement à Helium, Dogtail, PRA Python, Playwright ou tout autre pilote préféré. Aucun plugin supplémentaire ou connaissance spécialisée n'est nécessaire.
Pour réitérer : Guará est une implémentation Python du modèle de conception Page Transactions, donnant la priorité au modèle plutôt qu'à un outil autonome.
Guará utilise le modèle de commande (GoF) pour regrouper les interactions des utilisateurs (appuis sur des boutons, saisie de texte) en transactions. Bien qu'il soit qualifié de framework, ce n'est pas un nouvel outil.
Au lieu de se concentrer sur des éléments individuels de l'interface utilisateur, Guará met l'accent sur le parcours de l'utilisateur. La complexité est encapsulée dans les transactions, ce qui donne lieu à des instructions de test qui se lisent comme du langage naturel. Les testeurs peuvent également créer et intégrer des assertions personnalisées.
Guará en action : un exemple de changement de langue
Cet exemple montre un utilisateur qui change de langue sur une page Web :
from selenium import webdriver from guara.transaction import Application from guara import it, setup import home def test_language_switch(): app = Application(webdriver.Chrome()) # Open the application app.at(setup.OpenApp, url="https://example.com/") # Change language and assert app.at(home.ChangeToPortuguese).asserts(it.IsEqualTo, "Conteúdo em Português") app.at(home.ChangeToEnglish).asserts(it.IsEqualTo, "Content in English") # Close the application app.at(setup.CloseApp)
Chaque transaction réside dans sa propre classe (par exemple, ChangeToPortuguese
), s'étendant AbstractTransaction
. Les testeurs remplacent simplement la méthode do
; Guará s'occupe du reste.
from guara.transaction import AbstractTransaction class ChangeToPortuguese(AbstractTransaction): def do(self, **kwargs): self._driver.find_element(By.CSS_SELECTOR, ".btn-pt").click() return self._driver.find_element(By.CSS_SELECTOR, ".content").text
Les journaux post-test affichent les transactions et les assertions :
<code>test_demo.py::test_language_switch 2025-01-24 21:07:10 INFO Transaction: setup.OpenApp 2025-01-24 21:07:10 INFO url: https://example.com/ 2025-01-24 21:07:14 INFO Transaction: home.ChangeToPortuguese 2025-01-24 21:07:14 INFO Assertion: IsEqualTo 2025-01-24 21:07:14 INFO Actual Data: Conteúdo em Português 2025-01-24 21:07:14 INFO Expected: Conteúdo em Português 2025-01-24 21:07:14 INFO Transaction: home.ChangeToEnglish 2025-01-24 21:07:14 INFO Assertion: IsEqualTo 2025-01-24 21:07:14 INFO Actual Data: Content in English 2025-01-24 21:07:14 INFO Expected: Content in English 2025-01-24 21:07:14 INFO Transaction: setup.CloseApp</code>
Les appareils (installation/démontage) gèrent l'initialisation et l'achèvement des tests. Les outils de test standards comme pytest ou unittesting sont entièrement compatibles.
Avantages de l'utilisation du guará
- Réutilisabilité améliorée du code : Chaque classe représente une transaction utilisateur complète.
- Lisibilité améliorée : Le code ressemble à un anglais simple, ce qui facilite la collaboration.
- Assertions personnalisables : Créez et partagez des assertions personnalisées.
- Agnosticisme du pilote : Fonctionne avec divers outils d'automatisation au-delà de Selenium.
- Application polyvalente : Automatise les API REST, les tests unitaires, les tests de bureau et mobiles.
Démarrer avec Guará
- Installer :
pip install guara
- Créez des transactions en utilisant
AbstractTransaction
. - Utilisez
Application
,at
etasserts
pour appeler des transactions. - Exécutez des tests avec journalisation détaillée à l'aide de Pytest :
python -m pytest -o log_cli=1 --log-cli-level=INFO
Conclusion
Guará propose une nouvelle approche de l'organisation du code de test, en donnant la priorité à la lisibilité, à la maintenabilité et à l'indépendance du pilote. Il favorise la collaboration et permet la création et le partage d'assertions personnalisées. Essayez Guará !
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!

PythonlistScanstoreanyDatatype, ArrayModulearRaySstoreOneType, et NumpyArraysArnumericalComptations.1) ListesaSaSatilebutlessmemory-Efficient.2) NumpyArraySareMory-EfficientForHomoGeneousData.3)

Lorsque vous vous assumez de la valeur de la valeur de la datyypie de la datyylethonarray.

PythonlistSaReparmentofthestandardLibrary, tandis que les coloccules de colocède, tandis que les colocculations pour la base de la Parlementaire, des coloments de forage polyvalent, tandis que la fonctionnalité de la fonctionnalité nettement adressée.

TheScriptSrunning withthewrongpythonversionDuetOincorrectDefaultInterpretersettings.tofixThis: 1) vérifiez laefaultpythonversionusingpython - Versionorpython3 - Version.2)

PythonarRaySSupportVariousOperations: 1) SpecingExtractsSubSets, 2) A SPENDANT / EXPENSEDADDDSELLESS, 3) INSERtingPlaceSelelementsAtSpecific Positions, 4) RemovingdeleteSelements, 5) Sorting / ReversingChangeSes

NumpyArraysAressentialFor Applications est en train de réaliser des objets de manière numérique et une datamanipulation.

Useanarray.arrayoveralistinpythonwendealing withhomogeneousdata, performance-criticalcode, orinterfacingwithccode.1) homogeneousdata: ArraySaveMemorywithTypelements.2) performance-criticalcode

Non, NotallListOperationsResaSupportedByArrays, andviceVersa.1) ArraysDonotsUpportDynamicOperationsLIKEAPENDORINSERSERTWithoutresizing, qui oblige la performance.2) Listes de la glate-enconteConStanttimecomplexityfordirectAccessLikEArraysDo.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver Mac
Outils de développement Web visuel
