Créez votre premier Cucumber Scénario (2 exemples)

⚡ Résumé intelligent

Cucumber L'exécution de scripts vous aide à transformer des scénarios Gherkin en langage clair en tests automatisés exécutables à l'aide de fichiers de définition d'étapes, permettant ainsi aux équipes de valider le comportement, de partager l'intention entre les parties prenantes et de livrer des projets fiables pilotés par le BDD. Cucumber or Cucumber-JVM.

  • ???? Principes de base du cornichon : Les fichiers de fonctionnalités décrivent des scénarios selon la syntaxe « Étant donné-Quand-Alors » que les testeurs et les équipes métiers peuvent lire.
  • 📝 Définitions des étapes : Chaque étape Gherkin correspond à un bloc de code écrit en Ruby. Java, ou une autre langue prise en charge.
  • ⚙️ Configuration du projet : RubyMine ou tout autre IDE peut héberger le dossier des fonctionnalités, le dossier step_definitions et la configuration du lanceur.
  • Deux exemples : Un scénario de multiplication et un Guru99 scénarios de connexion de démonstration illustrent l'exécution BDD de bout en bout.
  • 🧪 Versions modernes : Cucumber-JVM 7.x et Cucumber Ruby 9.x reste la version stable actuellement utilisée dans les pipelines d'intégration continue.

Cucumber scénario

Dans ce tutoriel, vous allez créer Cucumber Scripts permettant de tester deux scénarios utilisant la syntaxe Gherkin et des fichiers de définition d'étapes. Cucumber est un framework BDD populaire qui relie les fichiers de fonctionnalités en langage clair à du code de test exécutable afin que les analystes métier et les développeurs puissent collaborer sur les mêmes spécifications.

Cucumber Script 1 : Multiplier par 2 Numbers

Dans cette première Cucumber Par exemple, vous écrirez un fichier Feature simple qui multiplie deux nombres, puis vous créerez un fichier Step Definition correspondant en Ruby. Le même flux de travail s'applique si vous utilisez Cucumber-JVM 7.x avec Java ou Kotlin dans IntelliJ IDEA.

Étape 1) Ouvrez l'éditeur RubyMine via le Windows le menu Démarrer.

Cucumber Script : Multiplier par 2 Numbers

Étape 2) Dans l'éditeur RubyMine, cliquez sur Créer un nouveau projet.

Cucumber Script : Multiplier par 2 Numbers

Étape 3) Sélectionnez l'emplacement du projet et cliquez sur « Créer ».

Cucumber Script : Multiplier par 2 Numbers

Étape 4) Créez un répertoire de fichiers à la racine de votre projet pour vos fichiers de fonctionnalités.

Cucumber Script : Multiplier par 2 Numbers

Étape 5) Nommez le répertoire comme suit : "Traits". Cucumber Ce dossier sera analysé automatiquement.

Cucumber Script : Multiplier par 2 Numbers

Étape 6) Créez et enregistrez un fichier dans « votredossier/features/ » sous le nom « votrenomdefichier.feature ».

Cliquez à nouveau ici si la vidéo n'est pas accessible

Cucumber Script : Multiplier par 2 Numbers

Cucumber Script : Multiplier par 2 Numbers

Étape 7) Pour exécuter le scénario, enregistrez le programme suivant dans le fichier Feature. Notez comment les mots clés Gherkin tels que Feature, Scenario, Given, When et Then décrivent le comportement du test.

Cucumber Script : Multiplier par 2 Numbers

Code:

Feature: Multiplication 
  I multiply two numbers 
	Scenario: multiply a and b 
	  Given I have variable a 
	  And I have variable b 
      When I multiplication a and b 
      Then I display the Result

Étape 8) Exécutez maintenant votre premier fichier de fonctionnalités.

Cliquez sur « Démarrer l'invite de commandes avec Ruby ».

Cucumber Script : Multiplier par 2 Numbers

Le résultat obtenu est affiché ci-dessous.

Cucumber Script : Multiplier par 2 Numbers

Vous verrez une erreur car vous devez écrire un fichier de définition d'étape qui correspond au fichier de fonctionnalité.

Étape 9) Créez un fichier de définition d'étape pour votre fichier de fonctionnalités.

Créez un nouveau dossier dans l'éditeur RubyMine nommé « step_definition ».

Cucumber Script : Multiplier par 2 Numbers

Cucumber Script : Multiplier par 2 Numbers

Étape 10) Enregistrez le fichier dans « votre_dossier/features/step_definitions » sous le nom test_step.rb.

Cucumber Script : Multiplier par 2 Numbers

Cucumber Script : Multiplier par 2 Numbers

Étape 11) Saisissez le code suivant dans le fichier de définition d'étape. Chaque bloc correspond à une étape Gherkin du fichier de fonctionnalités.

Cucumber Script : Multiplier par 2 Numbers

Code :

Given(/^I have variable a$/) do 
  @a = 50
end

And(/^I have variable b$/) do 
  @b = 70 
end

When(/^I multiplication a and b$/) do 
  @mul = @a * @b
end

Then(/^I display the Result$/) do 
  puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end

Étape 12) Exécutez à nouveau le fichier de fonctionnalités.

Cucumber Script : Multiplier par 2 Numbers

Le résultat est illustré ci-dessous.

Cucumber Script : Multiplier par 2 Numbers

Cucumber Script 2 : vérifier la sortie lorsque l'identifiant de messagerie est saisi ou non

Dans ce deuxième exemple, vous utiliserez Ruby avec Watir piloter un navigateur et valider deux scénarios d'inscription sur le GuruSite de démonstration 99. Les mêmes principes s'appliquent si vous adoptez Cucumber-JVM 7.x avec Selenium WebDriver et Java.

Dans cet exemple, nous utilisons Ruby.

Scénario de test: Vérifier le résultat lorsque l'adresse e-mail n'est PAS saisie.

Étapes du test :

  1. Navigateur ouvert
  2. Aller à https://demo.guru99.com/
  3. Do pas entrez l'identifiant de messagerie
  4. Cliquez sur Soumettre

Scénario de test: Vérifier le résultat lorsque l'adresse e-mail est saisie.

Étapes du test :

  1. Navigateur ouvert
  2. Aller à https://demo.guru99.com/
  3. Entrez l'identifiant de messagerie
  4. Cliquez sur Soumettre

Code dans le fichier de fonctionnalités :

Feature: guru99 Demopage Login
To Login in Demopage we have to enter login details
Scenario: Register On Guru99 Demopage without email
Given I am on the Guru99 homepage
When enter blank details for Register
Then error email shown
Scenario: Register On Guru99 Demopage with valid email
Given I am on the Guru99 homepage
When enter details for Register
Then login details shown

Code dans le fichier de définition des étapes :

require 'watir-webdriver'

require 'colorize'

browser = Watir::Browser.new

Given (/^I am on the Guru99 homepage$/)do

browser.goto "https://demo.guru99.com"

end

When (/^enter blank details for Register$/)do

browser.text_field(:name,"emailid").set(" ")

browser.button(:name,"btnLogin").click

end

Then (/^error email shown$/)do

puts " Email is Required".red

browser.close

end

When (/^enter details for Register$/)do

browser = Watir::Browser.new

browser.goto "https://demo.guru99.com"

browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

Exécutez le code dans l'invite de commandes et vous verrez le résultat suivant.

Vérifier la sortie lorsque l'identifiant de messagerie est saisi ou non

FAQ

Un fichier Feature est un fichier texte brut avec l'extension .feature qui utilise la syntaxe Gherkin pour décrire une fonctionnalité d'une application. Il regroupe des scénarios associés, rédigés selon les étapes « Étant donné », « Quand » et « Alors », afin que les parties prenantes non techniques puissent lire et valider le comportement en même temps que les développeurs.

Chaque étape de Gherkin est uniquement textuelle. Cucumber nécessite une définition d'étape qui associe l'étape à du code exécutable en Ruby. Javaou dans une autre langue. Sans cette carteping, le programme d'exécution signale des étapes indéfinies et le scénario ne parvient pas à exécuter la logique prévue.

CucumberLa JVM 7.x est la version stable actuelle et est recommandée pour les nouvelles installations. Java et les projets Kotlin. Cucumber Ruby 9.x reste le choix moderne pour les équipes Ruby. Les deux versions prennent en charge JUnit 5, exécution parallèle et filtrage par étiquette pour les pipelines CI.

Les assistants IA analysent les récits utilisateurs, les critères d'acceptation et les anomalies historiques pour rédiger des scénarios Gherkin au format « Étant donné-Quand-Alors ». Ils suggèrent des cas limites, des solutions alternatives et des balises afin que les équipes BDD couvrent davantage de comportements sans passer des heures à rédiger manuellement chaque fichier de fonctionnalité.

Oui. Les outils d'IA lisent les fichiers de fonctionnalités, font correspondre chaque étape Gherkin au code existant et génèrent de nouvelles méthodes de définition d'étape en Ruby ou JavaIls génèrent du code standard, des expressions régulières pour les paramètres et des ébauches d'assertions, permettant ainsi aux développeurs de se concentrer sur la logique métier au lieu d'écrire chaque fonction d'interface manuellement.

Résumez cet article avec :