Cadre de niveau expert Selenium 2021

Dans ce didacticiel, nous allons en apprendre davantage sur le cadre d'automatisation des tests et concevoir et développer le cadre Selenium de zéro au niveau avancé.

Décomposons cette série de didacticiels en plusieurs modules pour accomplir le développement du framework Selenium avec Java du concept au niveau avancé.

Cadre Selenium
Framework d'automatisation

Types de framework Selenium et leurs fonctionnalités

Différents types de framework Selenium sont conçus et construits en tenant compte des besoins de l'application que vous souhaitez automatiser. Chaque type de cadre d'automatisation de test a des caractéristiques et des avantages / inconvénients différents.

Nous pouvons classer le cadre Selenium dans les domaines ci-dessous:

  • Framework d'automatisation des tests pilotés par mots-clés 
  • Cadre d'automatisation des tests piloté par les données.
  • Cadre hybride 
  • Framework d'automatisation des tests de modèle d'objet de page 
  • Framework d'automatisation des tests de modèle d'objet de page hybride 
  • Cadre d'automatisation des tests de développement piloté par le comportement (BDD) 

Test Automation Fonctionnalités du framework Selenium

Framework basé sur les mots-clés dans Selenium

Qu'est-ce qu'un framework piloté par mots clés?

Le framework piloté par mot-clé en sélénium est un cadre Selenium construit autour de la fonctionnalité ou de la conception où le mot-clé pilote le cadre; nous verrons comment. 

Fonctionnement du framework basé sur les mots clés: 

Comme mentionné ci-dessus, KDF est dépendant ou conçu en fonction de mots-clés, alors qu'est-ce qu'un mot-clé? 

Les mots clés ne sont rien d'autre que les mots d'action Web (comme click, type, mouseHover, switchFrame etc.), maintenant vous stockez ces mots-clés dans Some repo (ou disons dans des fichiers Excel) et pour toutes les actions du mot-clé, vous définissez une classe (qui est l'utilitaire WebAction utilisant des commandes Selenium) et écrivez méthodes spécifiques pour les mots clés spécifiques.

Maintenant, l'étape suivante est essentiellement à partir de votre script lorsque vous mentionnez, disons, cliquez sur un élément Web, puis, dans ce cas, l'opération respective va à la Repo de mots clés (ici dans notre cas Excel et ensuite en fonction de l'opération il appelle les méthodes respectives que vous aviez définies dans la classe).

De plus, vous disposez de différents mécanismes de signalement (disons rapport ou rapport Allure ) que vous pouvez intégrer à votre framework Selenium pour prendre en charge le reporting.

avantages du framework piloté par mots clés

  • KDF est facile à concevoir et à développer 
  • La complexité et la complexité cyclomatique ne sont pas si élevées 
  • Facile à entretenir et à déboguer.
  • La création de KDF demande moins d'effort et de temps et est contrôlée à partir d'un seul point de déclenchement par les mots-clés.

inconvénients du cadre axé sur les mots clés 

  • KDF n'est pas un framework exhaustif et avancé et manque de nombreuses fonctionnalités avancées d'un framework dont nous parlerons plus tard.
  • L'intégration avec divers outils open source n'est pas assez flexible.
  • Ne peut pas être largement pris en charge avec divers frameworks Data Driven, c'est-à-dire ce framework qui est piloté et nécessaire pour traiter des données complexes telles que Texte de l'image, YML, PDF.
  • Le cadre basé sur les mots-clés n'est pas aussi sûr qu'un Framework de modèle hybride ou objet de page.

Framework piloté par les données dans Selenium 

Qu'est-ce que le cadre piloté par les données?

Le cadre basé sur les données en sélénium est un type de cadre Selenium qui est construit autour de la fonctionnalité ou de la conception où les données dirigent le cadre; nous verrons comment:

Fonctionnement du framework basé sur les données

Data Driven Framework est conçu pour gérer des types de données complexes et variés pour effectuer l'automatisation de l'application.

Ce type de framework est utile et construit là où vos scénarios d'automatisation et cas d'utilisation doivent être testés avec différents ensembles de données sur les mêmes fonctionnalités.

Ainsi, les données dirigent le flux de l'automatisation où les mêmes scénarios de test sont testés par rapport à différents ensembles de données, et DDF devrait être capable de gérer divers types de données tels que Excel, CSV, YML, PDF, texte, base de données, données d'image, etc.

Vous pouvez donc utiliser Fournisseur de données TestNG, données paramétrées XML TestNG, gestionnaire de connexions JDBC, gestionnaire de données PDF, YML gestionnaire de données. 

Vous pouvez utiliser Tesseract OCR pour travailler avec la gestion des données d'image.

Avantages du framework piloté par les données 

  • Le framework Data Driven est très polyvalent et robuste en termes de travail avec plusieurs types de format de données.
  • Le même script peut être géré pour s'exécuter avec différents cas / cas d'angle en ajoutant simplement divers ensembles de données conditionnés aux limites.
  • Facile à entretenir et à déboguer.
  • Peut gérer des scénarios d'automatisation complexes

Inconvénients du cadre axé sur les données

  • La conception de DDF est étroitement liée.
  • Une fois que le cadre est construit, il est moins probable qu'il soit pris en charge pour des améliorations nouvelles et critiques en termes de domaines ou d'outils d'automatisation. Ce qui signifie que l'amélioration n'est pas simple.
  • Moins flexible et moins sécurisé que le framework Hybrid Selenium ou le framework Page Object Model.

 

Framework hybride dans Selenium Automation

Qu'est-ce que le framework hybride?

Le cadre hybride en sélénium est un type de cadre Selenium qui est essentiellement construit autour de la fonctionnalité ou de la conception en prenant le concept de cadre à la fois basé sur les mots-clés et sur les données. 

Alors, 

Framework hybride => Framework basé sur les données + framework basé sur les mots clés.

Fonctionnement du framework hybride

Le cadre hybride soutenu et piloté par Approche basée sur les mots clés avec la capacité de gérer les tests pilotés par les données, de sorte que les deux fonctionnalités sont activées avec le référentiel de mots-clés et leur implémentation et avec divers fournisseurs de données et gestionnaires Dala, qui est la fonctionnalité principale du Data Driven Framework.

Modèle d'objet de page - Framework d'automatisation des tests

Qu'est-ce que le modèle d'objet de page 

Le cadre de modèle d'objet de page, comme son nom l'indique, est essentiellement une conception de cadre Selenium et développé autour des fonctionnalités et concepts ci-dessous:

  • Toute l'application Web est divisée en différentes pages Web, et si parfois chaque page Web a d'énormes fonctionnalités, elle est encore plus divisée en différents modules de page en fonction des fonctionnalités. 
  • Maintenant chaque Les modules de page ou de page représentent une classe distincte(Classe Java).
  • Chaque fonctionnalité de la page (par exemple, connexion, inscription, etc. pour la page de destination) représente différentes méthodes dans la classe Java, qui, dans les trunks, représente les différentes méthodes de la page.
  • Les localisateurs de pages ne sont rien d'autre que les localisateurs des pages / modules respectifs et développés et stockés par Classic Page Factory ou par le Modèle d'objet de page personnalisé.
  • À partir du Framework de test unitaire (méthode @test), nous appelons différentes méthodes Page (en créant les objets des classes Page) et finalement différentes méthodes de page appelle à nouveau les localisateurs de page (éléments Web de ces pages Web) 

Pourquoi le modèle d'objet de page || Avantages d'un modèle d'objet de page

La conception du cadre de modèle d'objet de page est l'un des derniers modèles de cadre utilisé dans l'industrie, et il propose diverses fonctionnalités avancées.  

  • Comme l'application Web entière est divisée en plusieurs pages Web / modules de page et éventuellement différentes classes de page Java et méthodes de page, il est donc plus facile de maintenir et de déboguer le code de manière centralisée. Ainsi, en cas de modification des fonctionnalités spécifiques de la page, nous devons uniquement maintenir la méthode spécifique.
  • Les localisateurs de page sont stockés dans l'emplacement spécifique correspondant aux pages / modules, d'où leur facilité de mise en service et de débogage et également en cas de modification des éléments Web.
  • Le modèle d'objet de page fournit le meilleur modèle de sécurité en termes de niveau de cadre d'automatisation car les couches de page sont faiblement couplées et code centralisé (pour les classes de page respectives).
  • Avec la conception de l'infrastructure de modèle d'objet de page, vous pouvez prendre en charge et améliorer de manière exhaustive votre infrastructure existante sans changer beaucoup la conception et continuer à ajouter des utilitaires et des composants de cadre pour gérer différentes intégrations.
  • L'intégration des outils tiers et de la pile technologique est également flexible.
  • Différents outils et fonctionnalités de rapport peuvent être connectés et peuvent être gérés et contrôlés de manière plus efficace grâce à la conception du modèle d'objet de page.
  • Vous pouvez concevoir le modèle d'objet de page en utilisant le concept de page Factory classique ou avec l'implémentation de l'interface. 

Nous verrons ici comment concevoir le cadre exhaustif du modèle d'objet de page.

Framework Selenium de modèle d'objet de page hybride

Le cadre de modèle d'objet de page hybride est conçu avec une approche où il est la combinaison d'un cadre basé sur les données et d'un cadre de modèle d'objet de page.

Ici, dans le cadre du modèle d'objet de page hybride, la conception de base est basée sur le modèle d'objet de page et utilise le vaste gestionnaire de données pour travailler avec les tests pilotés par les données.

Nous allons concevoir le cadre du modèle d'objet de page hybride ici. 

Cadre d'automatisation des tests de développement piloté par le comportement (BDD) 

Le framework BDD est un framework Selenium où la conception et le flux de l'automatisation sont pilotés par le comportement.

Qu'est-ce que le framework BDD? 

Le framework BDD est contrôlé ou conçu en fonction du comportement des cas de test ou des actions effectuées. 

Dans le framework BDD, nous utilisons un langage similaire à l'anglais appelé Gherkin language, qui est le point moteur du framework. 

Le langage Gherkin est fondamentalement au format donné, quand, alors (où donné raconte une condition préalable lorsque cela signifie que vous effectuez une opération sur un élément Web comme disons l'opération de clic, etc. et est essentiellement pour l'assertion)

Outils et technologies requis pour le framework d'automatisation

Selenium est un outil open-source, et il ne fournit aucun cadre intégré avec. Par conséquent, vous devez concevoir et développer le cadre Selenium avec des outils et des technologies. 

Vous pourriez utiliser les outils pour travailler avec le développement de framework Selenium

  • Eclipse / Intellij Idea (en tant qu'IDE de développement)
  • Jenkins (en tant qu'outils CI si vous souhaitez créer Pipeline CICD avec automatisation)
  • Maven / Gradle / Ant (en tant que outil de construction)
  • TestNg / JUnit (en tant que cadre de test unitaire)
  • Bundles / Jars Selenium (en tant que dépendances Selenium)
  • Java / C # / Python (comme langage)
  • ReportNg / Extent Report / Allure (pour les fonctionnalités de création de rapports)
  • Pile ELK (si vous voulez construire des RAPPORTS EN TEMPS RÉEL)
  • Graylog (si vous voulez construire tableau de bord avancé de journalisation en temps réel sinon vous pouvez utiliser Log4J etc.)
  • Technologies OCR Tesseract pour la reconnaissance d'image et l'automatisation du texte d'image 
  • Fontbox, Pdfbox pour les capacités de traitement des données PDF
  • Apache POI pour la gestion des données Excel
  • Sikuli / AutoIt pour la gestion des cas d'automatisation des applications natives.
  • Bibliothèques clientes TestLink / Jira pour l'intégration des outils de gestion TestCase avec votre infrastructure d'automatisation 

Ce sont les outils et la pile technologique les plus fréquemment utilisés pour créer un framework Selenium robuste. 

Conclusion: Ce didacticiel Nous avons eu un aperçu du cadre d'automatisation Selenium et des fonctionnalités d'un cadre Selenium et des outils nécessaires pour créer un cadre d'automatisation de test robuste, dans les prochains didacticiels, nous discuterons des principes de conception et des modèles de conception pour créer un Selenium cadre et finalement nous finirons par créer un cadre pratique que vous pourrez utiliser à votre propre approche. Pour en savoir plus sur l'ensemble Tutoriel Selenium que vous pouvez visiter ici et pour Questions d'entrevue Critical Selenium cliquez ici.

À propos de Debarghya

Moi-même Debarghya Roy, je suis un ARCHITECTE en ingénierie travaillant avec la société fortune 5 et un contributeur open source, ayant environ 12 ans d'expérience / expertise dans diverses piles technologiques.
J'ai travaillé avec diverses technologies telles que Java, C#, Python, Groovy, UI Automation (Selenium), Mobile Automation (Appium), API/Backend Automation, Performance Engineering (JMeter, Locust), Security Automation (MobSF, OwAsp, Kali Linux , Astra, ZAP, etc.), RPA, automatisation de l'ingénierie des processus, automatisation mainframe, développement back-end avec SpringBoot, Kafka, Redis, RabitMQ, pile ELK, GrayLog, Jenkins et ayant également une expérience dans les technologies cloud, DevOps, etc.
Je vis à Bangalore, en Inde avec ma femme et j'ai une passion pour les blogs, la musique, jouer de la guitare et ma philosophie de vie est l'éducation pour tous qui a donné naissance à LambdaGeeks. Permet de se connecter via linked-in - https://www.linkedin.com/in/debarghya-roy/

Laisser un commentaire

Votre adresse email n'apparaîtra pas. Les champs obligatoires sont marqués *

Geeks Lambda