Développement axé sur les affaires par des tests de sélénium avec Gherkin


Le concombre et le sélénium sont des cadres largement utilisés pour l’automatisation BDD (Behavior Driven Development) et le navigateur. Bien que sur le papier, cela semble être une belle paire, quand il s’agit de la réalité, beaucoup de testeurs s’en détournent. La principale raison derrière cela est Gherkin, car la plupart des testeurs hésitent à l’utiliser, car cela semble être une tâche supplémentaire car les scripts de test doivent encore être écrits séparément.

Mais ce n’est pas vrai pour tous. L’utilisation de Gherkin peut réellement aider à tester car il sert de bon document pour toutes les fonctionnalités et peut être écrit par n’importe qui, même avec une connaissance du codage presque nulle.

Étant écrit en Gherkin, il agit comme un pont entre différentes couches, PM -> Dev -> Testeurs -> Clients. Avançons vers la compréhension du BDD avec Gherkin et comment il peut améliorer les tests de sélénium.

Dans cet article, j’explorerai plus en détail cette rubrique sur la façon d’effectuer des tests de développement piloté par le sélénium avec Gherkin. Avant de commencer avec Gherkin, je voudrais vous présenter brièvement le BDD (Behaviour Driven Development, à ne pas confondre avec le Business-Driven Development.

Qu’est-ce que BDD?

Le développement basé sur le comportement, communément appelé BDD, est une approche de développement largement utilisée dans l’industrie du logiciel. Il permet à son utilisateur d’écrire des cas en anglais simple. Cela aide les membres de l’équipe, même sans savoir-faire technique, à comprendre ce qui se passe dans le projet, ce qui réduit l’écart entre les hommes d’affaires et les techniciens.

En plus d’une faible technicité et d’une approche plus facile à comprendre, le principal avantage du BDD est qu’il transpire du TDD. Développement piloté par les tests, qui prend en charge les tests automatisés avec plusieurs données de test avec une intervention minimale dans le code.

Concombre – Un outil de cadre BDD: BDD est implémenté à l’aide du cadre Cucumber, qui aide à automatiser les cas sous une forme bien formatée et lisible.

Fichiers de fonctionnalités de concombre: Ces fichiers, écrits en langage Gherkin, se terminant par l’extension .feature, font partie intégrante de Cucumber et sont utilisés pour les spécifications de l’application.

Premiers pas avec Gherkin pour les tests de sélénium

Gherkin for Selenium Testing est un langage lisible par l’entreprise et spécifique au domaine qui permet à ses utilisateurs d’écrire des tests efficaces d’une manière bien documentée qui nécessite le moins de raisonnement et les détails de logique impliqués.

Comprenons cela avec un exemple de Gherkin.

Les acheteurs ne devraient pas être en mesure de saisir des informations de carte de crédit non valides.

Contre

Sur la page de paiement, si un acheteur saisit un numéro de carte de crédit, qui n’est pas de 16 chiffres, alors lorsqu’il essaie de continuer, il devrait afficher un message d’erreur indiquant que le numéro entré n’est pas correct. ”

Le premier exemple de Gherkin n’est pas clair et vague par rapport au second. L’imprécision entraîne des erreurs et rend plus difficile pour le testeur de comprendre l’exigence et de mettre en œuvre des cas de test.

Syntaxe de Gherkin pour les tests de sélénium

La structure de fichiers dans Gherkin est définie par la façon dont différentes lignes de code sont indentées dans un fichier de fonctionnalité. Presque toutes les lignes de Gherkin pour Cross Browser Testing commencent par un mot-clé spécial et les fins de ligne terminent les instructions appelées étapes.

Un fichier de fonctionnalités Gherkin est une combinaison de fonctionnalités, de scénarios et d’étapes, qui ressemble généralement à ceci:

Lors de l’exécution de la fonctionnalité, la partie finale de chaque étape (après des mots clés tels que Given, And, When, etc.) est mise en correspondance avec une expression régulière, généralement appelée code de colle qui peut être écrite dans n’importe quelle langue. Dans ce tutoriel, Java sera utilisé.

Voyons maintenant l’exemple ci-dessus pour comprendre tous les mots clés.

Fonctionnalité

Les mots clés de fonctionnalité sont utilisés pour faire don d’une fonctionnalité logicielle. Il contient généralement une liste de scénarios liés à cette fonctionnalité. Les principaux éléments de la fonctionnalité sont:

  • Le mot-clé – Feature.
  • Le mot-clé, suivi du nom que l’utilisateur souhaite donner à la fonctionnalité.
  • Une description facultative qui peut s’étendre sur plusieurs lignes, c’est-à-dire tout le texte entre la ligne contenant le mot-clé Fonctionnalité, et une ligne commençant par Scénario ou Arrière-plan qui est facultative.

Un bon nom de fonctionnalité devrait ressembler à ceci:

Afin de comme un Je voudrais

En tant que bonne convention de codage de Gherkin, il est fortement recommandé qu’une fonctionnalité constitue un fichier * .feature qui, dans le terme, est nommé en remplaçant les espaces par un soulignement et en convertissant le nom de la fonctionnalité en minuscules. Prenons un exemple de Gherkin,

Fonctionnalité: Afin d’apprendre Gherkin en tant que débutant, je veux étudier ce tutoriel

Nom du fichier d’entités: in_order_to_learn_gherkin_as_a_beginner_i_want_to_study_this_tutorial.feature

Contexte

Il est généralement utilisé pour ajouter des étapes de contexte communes à tous les scénarios et doit être exécuté avant chaque scénario dans un seul fichier de fonctionnalités. C’est comme un scénario optionnel sans titre.

Scénario

Le scénario constitue le cœur de la structure de Gherkin. Il décrit les fonctionnalités en cours de test. L’objectif principal d’un scénario est de permettre au spectateur de comprendre ce qui est testé et comment. Le mot-clé du scénario est suivi d’un titre facultatif.

Un ou plusieurs scénarios constituent un fichier de fonctionnalités en fonction de la fonctionnalité du test et une ou plusieurs étapes constituent un fichier de fonctionnalités.

Par convention, un bon scénario suit le modèle suivant

Pas

Les étapes composent essentiellement la partie d’un scénario au moyen de donné, quand, alors.

Donné

Le seul objectif d’une instruction Given est de fournir un contexte afin d’établir un état connu avant que l’utilisateur ne commence à interagir avec le scénario de fonctionnalité testé.

Quand

Ceci est utilisé pour décrire l’événement dû aux actions de l’utilisateur dans un état donné.

alors

Le but de cette étape est de décrire et d’analyser les résultats. Cette analyse vise à ajouter des avantages aux fonctionnalités en vérifiant le résultat qui est ou n’est pas lié à Donné et Quand ou peut être à un système externe.

Mais

Ces mots clés sont utilisés pour combiner plusieurs déclarations Given, When ou Then, ce qui contribue à rendre le scénario plus lisible et présentable.

Comment exécuter des scripts de test Selenium en utilisant du concombre?

Pour créer un projet de cornichon pour les tests de sélénium, le moyen le plus simple est de créer un nouveau projet maven dans n’importe quel IDE comme Eclipse. En outre, les dépendances pour les coureurs Cucumber, Selenium et Junit pour exécuter les fichiers de fonctionnalités.

pour utiliser le concombre avec java

pour le sélénium

Pour que JUnit runner exécute les fonctionnalités de Cucumber

Pourquoi utiliser le cornichon avec des tests de sélénium?

Selenium est un outil largement utilisé pour les tests fonctionnels dans les meilleures organisations car il est facile à intégrer à Gherkin et rend la compréhension et l’automatisation du flux à la fois faciles et possibles à faire en même temps.

Ce faisant, il est facile de maintenir des cas de test qui sert également de documentation appropriée pour tous les intervenants et analystes. Selenium est facile à intégrer et un outil d’automatisation très apprécié s’ajoute à l’utilisation de Cucumber. Ensemble, ils constituent un framework très simple à mettre en place et à faible coût de maintenance.

De plus, la possibilité d’exécuter des fichiers de fonctionnalités en parallèle est un autre avantage. De plus, Gherkin et Selenium peuvent être codés en Java pour écrire le code de colle pour les étapes et l’automatisation du navigateur respectivement.

Avantages du cornichon dans les tests de sélénium avec exemple

Ici, je vais expliquer l’utilisation de Gherkin pour les tests de sélénium avec quelques exemples et le cadre ainsi que la structure des fichiers au moyen de l’exemple suivant.

Prenons un scénario de test avec le développement d’une application Web pour une organisation, disons «Shopping.com», et l’équipe discute d’un flux de processus de placement de commande par un client.

Première étape, pour qu’un client passe une commande, il doit naviguer sur le site Web et se connecter.

Après cela, le client recherche un produit et clique sur le bouton Ajouter au panier.

Un client atteint la page du panier et peut cliquer sur le bouton de commande

Une fois le flux transmis au testeur d’automatisation, il l’utilise pour écrire des cas d’automatisation. De plus, il ajoute des étapes de code d’automatisation pour le fichier de discussion en le convertissant en un fichier de fonctionnalités.

Maintenant, pour que ces étapes fonctionnent, j’écrirai le code de définition d’étape

Maintenant, le point à noter ici est que certaines données liées aux clients sont requises et pourraient également être utilisées par d’autres fichiers de fonctionnalités et scénarios. Il est donc logique de créer un fichier distinct pour ces données, appelé fichier de propriétés.

En outre, des étapes telles que le chargement de ce fichier de propriétés, l’initialisation du pilote, la fermeture du navigateur après chaque scénario doivent également être effectuées et cela serait commun à tous les tests. Il est donc logique de créer un fichier d’étapes de base et d’en hériter tous les fichiers de définition d’étape.

BaseSteps.java

Après avoir écrit le fichier BaseSteps.java et test.properties, complétons maintenant le fichier de définition d’étape

PlaceOrderStepDefs.java

Enfin, une étape serait vers un fichier de runner pour exécuter cette fonctionnalité.

CucumberTestRunner.java

Avec cet exemple, il est très évident à quel point il est facile d’utiliser Gherkin pour les tests de sélénium pour améliorer l’automatisation.

Utilisation de Gherkin pour BDD sur une grille de sélénium en ligne

Afin d’exécuter l’automatisation Selenium sur une ligne Grille de sélénium, vous avez juste besoin de mettre à jour BaseSteps.java pour avoir le nom d’utilisateur et le jeton d’accès du compte LambdaTest ainsi que quelques modifications de codes pour faire savoir au système qu’il s’agit d’un RemoteWebDriver s’exécutant sur l’URL de la grille Selenium avec ces capacités.

Voici à quoi ressemblerait BaseSteps.java mis à jour

BaseSteps.java mis à jour

Exécutez le test de la même manière que précédemment en utilisant le fichier TestRunner et vous êtes prêt à utiliser les avantages supplémentaires de l’utilisation du fichier Grille de sélénium et obtenir plus d’informations sur l’exécution sous une forme plus présentable.

Envelopper

Dans ce tutoriel, j’ai expliqué comment l’utilisation d’un framework BDD comme Cucumber with Gherkin peut aider à une meilleure collaboration entre toutes les parties prenantes ainsi que les bases du langage Gherkin et comment utiliser sa syntaxe. J’ai ensuite développé notre premier script d’automatisation des tests Selenium en utilisant Gherkin pour Selenium Testing.

Vous savez maintenant pourquoi vous ne devriez pas vous détourner de Gherkin pour les tests de sélénium. En outre, comment cela peut aider toutes les parties prenantes de votre équipe à bien comprendre le projet. De ce fait, aider le projet à atteindre ses objectifs commerciaux plus rapidement. Bon test !!

Close Menu