DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Tutoriel Cucumber.js – DZone
    Uncategorized

    Tutoriel Cucumber.js – DZone

    mars 17, 2023
    Tutoriel Cucumber.js - DZone
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    La pertinence d’utiliser un framework BDD tel que Cucumber.js est souvent remise en question par nos collègues testeurs d’automatisation. Beaucoup pensent qu’il s’agit simplement d’ajouter plus de travail à leur table. Cependant, l’utilisation d’un framework BDD a ses propres avantages, ceux qui peuvent vous aider à optimiser votre automatisation des tests Selenium. Sans oublier, ces frameworks BDD aident toutes vos parties prenantes à interpréter facilement la logique derrière votre script d’automatisation des tests. L’utilisation de Cucumber.js pour vos tests Selenium JavaScript peut vous aider à spécifier un critère d’acceptation facile à comprendre pour tout non-programmeur. Cela pourrait également vous aider à évaluer rapidement la logique impliquée dans votre suite d’automatisation des tests Selenium sans passer par d’énormes morceaux de code.

    Avec une structure donnée quand alors, les frameworks de développement piloté par le comportement comme Cucumber.js ont rendu les tests beaucoup plus simples à comprendre. Pour mettre cela en contexte, prenons un petit scénario. Vous devez tester un guichet automatique s’il fonctionne bien. Nous écrirons les conditions selon lesquelles étant donné que le solde du compte est de 1 000 $ et que la carte est valide et que la machine contient suffisamment d’argent. Lorsque le titulaire du compte demande 200 $, le distributeur doit distribuer 200 $ et le solde du compte doit être de 800 $, et la carte doit être retournée.

    Dans ce didacticiel Cucumber.js, nous allons approfondir notre compréhension de la configuration, de l’installation et de l’exécution de notre premier test d’automatisation avec Cucumber.js pour les tests Selenium JavaScript.

    Qu’est-ce que Cucumber.js et qu’est-ce qui le rend si populaire ?

    Commençons notre tutoriel Cucumber.js avec un petit résumé sur le framework. Cucumber.js est un cadre de test Selenium JavaScript très robuste et efficace qui fonctionne sur le processus de développement de pilotes de comportement. Cette bibliothèque de tests permet une intégration facile avec Selenium et nous offre la possibilité de définir nos tests dans un langage simple qui est même compris par un profane. La bibliothèque de tests JavaScript Cucumber.js Selenium suit une structure donnée-quand-alors qui aide à représenter les tests en langage clair, ce qui fait également de nos tests un point de communication et de collaboration. Cette fonctionnalité améliore la lisibilité du test et aide donc à mieux comprendre chaque cas d’utilisation. Il est utilisé pour les tests unitaires par les développeurs, mais principalement pour les tests d’intégration et de bout en bout. De plus, il collabore avec les tests et les rend si lisibles qu’il n’y a pratiquement pas besoin de documentation pour les cas de test, et peuvent même être digérés par les utilisateurs professionnels.

    Configuration de Cucumber.js pour les tests Selenium Javascript

    Donc, avant de poursuivre notre didacticiel Cucumber.js, pour commencer à écrire et à exécuter nos scripts de test automatisés à l’aide de Cucumber, nous devons configurer notre système avec le framework Cucumber.js et installer toutes les bibliothèques et packages nécessaires pour commencer Selenium JavaScript essai.

    Node JS et Node Package Manager (npm) : Il s’agit du package de base et le plus important pour tout framework de test Selenium Javascript. Il peut être téléchargé via le gestionnaire npm, c’est-à-dire en installant le gestionnaire de packages de nœuds depuis le site officiel nodejs.org ou en utilisant le programme d’installation de packages pour différents systèmes d’exploitation téléchargés depuis le site Web ici pour Mac OS, Windows ou Linux. Nous pouvons exécuter la commande npm dans la ligne de commande et vérifier si elle est correctement installée sur le système.

    Module de bibliothèque Cucumber.js : Le prochain prérequis requis pour l’exécution de notre test est la bibliothèque Cucumber.js. Nous aurions besoin du package Cucumber.js comme dépendance de développement. Après l’installation et la validation réussies de Node.js sur le système, nous utiliserons le gestionnaire de packages de nœuds, c’est-à-dire npm, qu’il fournit pour installer le package de bibliothèque Cucumber.js dans le référentiel npm.

    Ainsi, afin d’installer la dernière version du module Cucumber.js, nous utiliserons la commande npm comme indiqué ci-dessous

    $ npm install -g cucumber 
    and
    npm install  --save-dev cucumber

    Ici le paramètre g indique l’installation globale du module, ce qui signifie qu’il ne limite pas l’utilisation du module au projet en cours, et il est également accessible avec des outils en ligne de commande. La commande exécutée à l’aide du paramètre –save-dev placera l’exécutable Cucumber dans le répertoire de base, c’est-à-dire ./node_modules/.bin répertoire et exécutez les commandes dans notre outil de ligne de commande en utilisant le mot-clé concombre.

    Java-SDK : Étant donné que tout le framework de test Selenium utilise Java en interne, nous allons ensuite installer le kit de développement Java sur nos systèmes. Il est conseillé d’utiliser JDK ayant la version 6.0 et supérieure et de configurer/configurer les variables d’environnement système pour Java.

    Pilote Web Sélénium : Pour automatiser le navigateur système, nous aurions besoin d’installer Selenium Web Driver Library à l’aide de la commande npm ci-dessous. Dans la plupart des cas, il est automatiquement installé dans notre répertoire de base npm node_modules en tant que dépendance lors de l’installation d’autres bibliothèques.

    $ npm install selenium-webdriver

    Pilote de navigateur : Enfin, il est nécessaire d’installer le pilote du navigateur. Il peut s’agir de n’importe quel navigateur sur lequel nous voudrions exécuter les scénarios de test, et donc le pilote correspondant doit être installé. Cet exécutable doit être ajouté à notre variable d’environnement PATH et également placé dans le même dossier bin. Ici, nous installons le pilote chrome.

    Voici le lien vers la documentation où nous pouvons trouver et télécharger la version qui correspond à la version de notre navigateur.

    $ npm install -g chromedriver

    Vous travaillez sur le framework de test Cucumber.js ?

    Maintenant que nous avons configuré notre système pour notre tutoriel Cucumber.js, nous allons continuer avec la création de notre structure de projet et créer un répertoire nommé cucumber_test. Ensuite, nous allons créer deux sous-dossiers, à savoir, feature et step_definitionqui contiendra les scripts respectifs écrits pour nos fonctionnalités et la définition des étapes.

    $ mkdir step_definitions

    Enfin, le dossier contiendra un fichier package.json généré dans le répertoire de base du package et enregistrera toutes les dépendances dev pour ces modules. Une autre chose importante à faire avec le fichier package.json est d’ajouter l’attribut test dans le paramètre scripts.

    {
      "scripts": {
        "test": "./node_modules/.bin/cucumber-js"
      }
    }

    En ajoutant cet extrait à notre fichier package.json, nous pouvons exécuter tous vos tests de concombre à partir de la ligne de commande en tapant simplement « npm test » sur la ligne de commande. Notre structure de dossier de projet final se présente comme ci-dessous.

    cucumber_test
            | - - feature
                        | - - feature_test.feature
            	      | - - step_definition
                                         | - - steps_def.js
          | - - support
    	        | - - support.js
            | - - package.json

    Ci-dessous la procédure de travail d’un projet Cucumber.js :

    • On commence par écrire un .feature fichier contenant les scénarios et chacun de ces scénarios avec une structure donnée-quand-alors définie.
    • Ensuite, nous écrivons des fichiers de définition d’étape qui définissent généralement les fonctions qui correspondent aux étapes de nos scénarios.
    • De plus, nous implémentons ces fonctions selon nos besoins ou automatisons les tests dans le navigateur avec le pilote Selenium.
    • Enfin, nous lançons les tests en exécutant le fichier exécutable Cucumber.js présent dans le node_modules/.bin dossier.

    Exécution de notre premier script de test Cucumber.js

    La prochaine étape de ce didacticiel Cucumber.js consiste à exécuter un exemple d’application. Nous allons commencer par créer un répertoire de projet nommé cucumber_test puis un script de nom de sous-dossier avec un nom de script de test single_test.js à l’intérieur.

    Ensuite, nous ajouterons un scénario à l’aide d’un .feature déposer. Ce qui sera servi à notre application lorsque nous demanderons à Cucumber.js d’exécuter le fichier de fonctionnalités. Enfin, le framework Cucumber.js analysera le fichier et appellera le code qui correspond aux informations du fichier de fonctionnalités.

    Ici, pour notre premier scénario de test, nous commencerons par une application basée sur un navigateur très simple qui, en visitant la page d’accueil officielle de Selenium, nous permet de faire une recherche en cliquant sur le bouton de recherche.

    Veuillez noter le package.json fichier que nous utiliserons dans nos prochaines démonstrations.

    package.json

    Le fichier package.json contient toutes les configurations liées au projet et certaines dépendances indispensables à la mise en place du projet. Il est important de noter que les définitions de ce fichier sont utilisées pour exécuter le script, et donc cela agit comme notre descripteur de projet.

    {
      "name": "Cucumber.js Javascript test with Selenium",
      "version": "1.0.0",
      "description": "CucumberJS Tutorial for Selenium JavaScript Testing",
      "main": "index.js",
      "scripts": {
        "test": "./node_modules/.bin/cucumber-js"
      },
      "repository": {
        "type": "git",
        "url": ""
      },
      "author": "",
      "license": "ISC",
      "description": {
        "url": ""
      },
      "homepage": "",
      "dependencies": {
        "assert": "^1.4.1",
        "chromedriver": "^2.24.1",
        "cucumber": "^1.3.0",
        "geckodriver": "^1.1.3"
      },
      "devDependencies": {
        "selenium-webdriver": "^3.6.0"
      }
    }

    Maintenant, la première étape du projet consiste à définir la fonctionnalité que nous allons implémenter, c’est-à-dire au sein de ce fichier ; nous décrirons le comportement que nous voudrions de notre application, qui visite le site Web dans notre cas. Cette fonctionnalité permet au navigateur de vérifier les éléments. Par conséquent, nous mettrons à jour notre fichier de fonctionnalités avec le code. Vous trouverez ci-dessous à quoi ressemble notre fichier de fonctionnalités, qui contient les scénarios de date et d’époque donnés.

    feature_test.feature

    Nous aurons maintenant nos premiers scénarios de base pour visiter le site Web définis dans le fichier de fonctionnalités, suivis d’autres scénarios. Ces scénarios suivront un modèle donné-quand-alors.

    • Étant donné : il définit le contexte initial ou les conditions préalables.
    • Quand : cela ressemble à l’événement qui est censé se produire dans le scénario.
    • Ensuite : C’est le résultat attendu du scénario de test.

    étapes_def.js

    Passons maintenant à la définition des étapes. Ici, nous définissons les fonctions qui correspondent aux étapes de nos scénarios et les actions qu’elles doivent effectuer chaque fois qu’un scénario est déclenché.

    …

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.