Fermer

mai 14, 2024

Comprendre Selenium Python et le modèle objet de page à l’aide de PyDev dans Eclipse / Blogs / Perficient

Comprendre Selenium Python et le modèle objet de page à l’aide de PyDev dans Eclipse / Blogs / Perficient


Qu’est-ce que le modèle objet de page (POM) ?

L’objectif du modèle de conception Page Object Model est de réduire la quantité de travail requise pour la maintenance du code et de réduire la duplication de code. Toutes les pages Web qui ont subi des tests automatisés de bout en bout de l’interface utilisateur ont des classes de page créées pour elles sous le modèle d’objet de page. Une classe orientée objet qui agit comme une interface de page est appelée objet monopage.

Étant donné que les cas de test, qui incluent la logique de test principale, sont enregistrés dans un fichier distinct et que les localisateurs nécessaires aux scénarios de test sont stockés dans un fichier de classe distinct, cela augmente l’indépendance du code. Étant donné que les localisateurs et les scripts de test sont enregistrés indépendamment, toute modification de l’interface utilisateur en ligne nécessitera peu ou pas de modifications des scénarios de test.

Les composants suivants constituent l’implémentation du modèle d’objet de page (POM) :

  • Élément d’objet de page : La classe de page qui héberge les éléments Web des pages de test est connue sous le nom d’élément d’objet de page. Cela comprend également la mise en œuvre des méthodes utilisées pour effectuer les opérations de ces éléments Web. Les fondements de la programmation orientée objet lui servent de fondement.
  • Cas de tests : Les scénarios de test réels sont implémentés dans les cas de test. La classe test interagit avec les éléments de l’interface utilisateur de la page en utilisant les mêmes méthodes que la classe Page. Le code de test reste le même et seule la classe de page doit être mise à jour si l’interface utilisateur de la page Web change.

Le même test suit un modèle de conception POM

Structure du projet

Vous trouverez ci-dessous un exemple de structure de répertoires pour utiliser des objets de page dans un projet d’automatisation de test Selenium.

Image8

Créez des fichiers Python et organisez votre projet

Pour organiser notre projet Selenium, nous créerons des fichiers Python pour les objets de page, les scripts de test et tout utilitaire supplémentaire dont nous pourrions avoir besoin. Nous pouvons structurer notre projet en créant des répertoires pour catégoriser ces composants. Cela nous aidera à garder notre base de code propre, facile à comprendre et maintenable. A titre d’exemple, voici la structure des répertoires du projet sur lequel nous allons travailler au cours de cet article :

Image9

Étape 1 : Définir les éléments et les actions Web et mettre en œuvre les méthodes

Créez une classe Python pour la page Web que vous souhaitez représenter. Donnez-lui un nom significatif, se terminant généralement par « Page », pour indiquer son objectif.

Image10

Dans cet exemple, nous avons créé un Page de connexion classe.

Notre objectif sera de mettre en œuvre des tests pour un Page de connexion factice

Étape 2 : implémenter des méthodes pour la page d’accueil

Image11

Étape 3 : importez login.py et home_page.py dans le fichier test_login.py et exécutez

Image12

Cette série de blogs en deux parties a examiné comment créer des cadres d’automatisation fiables et maintenables en utilisant ensemble Selenium et Page Object Model. En implémentant POM, les développeurs peuvent réduire les frais de maintenance, optimiser les efforts d’automatisation et améliorer la lisibilité du code. Grâce aux informations et aux exemples présentés, vous êtes prêt à démarrer votre parcours automatisé en toute confiance.

Bravo à l’automatisation et htests d’application






Source link