Erstellen Sie Ihr erstes Cucumber Skript (2 Beispiele)

โšก Intelligente Zusammenfassung

Cucumber Die Skriptausfรผhrung hilft Ihnen, Gherkin-Szenarien in einfacher Sprache mithilfe von Schrittdefinitionsdateien in ausfรผhrbare automatisierte Tests umzuwandeln. So kรถnnen Teams das Verhalten validieren, die Absichten der Beteiligten kommunizieren und zuverlรคssige, BDD-gesteuerte Projekte bereitstellen. Cucumber or Cucumber-JVM.

  • ๐Ÿฅ’ Gurken-Grundlagen: Feature-Dateien beschreiben Szenarien in der Given-When-Then-Syntax, die sowohl von Testern als auch von Business-Teams gelesen werden kรถnnen.
  • ๐Ÿ“ Schrittdefinitionen: Jeder Gherkin-Schritt entspricht einem in Ruby geschriebenen Codeblock. Javaoder einer anderen unterstรผtzten Sprache.
  • โš™๏ธ Projektaufbau: RubyMine oder jede andere IDE kann den Ordner โ€žfeaturesโ€œ, den Ordner โ€žstep_definitionsโ€œ und die Runner-Konfiguration hosten.
  • โœ… Zwei Beispiele: Ein Multiplikationsszenario und ein GuruDas Demo-Login-Szenario 99 demonstriert die vollstรคndige BDD-Ausfรผhrung.
  • ๐Ÿงช Moderne Versionen: Cucumber-JVM 7.x und Cucumber Ruby 9.x bleibt die aktuell stabile Version, die in allen CI-Pipelines verwendet wird.

Cucumber Skript

In diesem Tutorial erstellen Sie Cucumber Skripte zum Testen zweier Szenarien unter Verwendung der Gherkin-Syntax und Schrittdefinitionsdateien. Cucumber ist ein beliebtes BDD-Framework, das Feature-Dateien in einfacher Sprache mit ausfรผhrbarem Testcode verbindet, sodass Geschรคftsanalysten und Entwickler an denselben Spezifikationen zusammenarbeiten kรถnnen.

Cucumber Skript 1: Multiplizieren Sie 2 Numbers

In diesem ersten Cucumber Beispielsweise schreiben Sie eine einfache Feature-Datei, die zwei Zahlen multipliziert, und erstellen anschlieรŸend eine passende Schrittdefinitionsdatei in Ruby. Der gleiche Arbeitsablauf gilt, wenn Sie verwenden Cucumber-JVM 7.x mit Java oder Kotlin in IntelliJ IDEA.

Schritt 1) ร–ffnen Sie den RubyMine-Editor รผber die Windows Startmenรผ.

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 2) Klicken Sie im RubyMine-Editor auf โ€žNeues Projekt erstellenโ€œ.

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 3) Wรคhlen Sie den Projektspeicherort aus und klicken Sie auf โ€žErstellenโ€œ.

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 4) Erstellen Sie im Projektstammverzeichnis ein Dateiverzeichnis fรผr Ihre Feature-Dateien.

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 5) Benennen Sie das Verzeichnis wie "Features". Cucumber Dieser Ordner wird automatisch gescannt.

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 6) Erstellen und speichern Sie eine Datei unter dem Namen โ€žyourfilename.featureโ€œ im Verzeichnis โ€žyourfolder/features/โ€œ.

Klicken Sie auf werden auf dieser Seite erlรคutert wenn das Video nicht zugรคnglich ist

Cucumber Skript:Multiplizieren mit 2 Numbers

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 7) Um das Szenario auszufรผhren, speichern Sie das folgende Programm in der Feature-Datei. Beachten Sie, wie Gherkin-Schlรผsselwรถrter wie Feature, Scenario, Given, When und Then das Testverhalten beschreiben.

Cucumber Skript:Multiplizieren mit 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

Schritt 8) Fรผhren Sie nun Ihre erste Feature-Datei aus.

Klicken Sie auf โ€žEingabeaufforderung mit Ruby startenโ€œ.

Cucumber Skript:Multiplizieren mit 2 Numbers

Das Ergebnis wird unten angezeigt.

Cucumber Skript:Multiplizieren mit 2 Numbers

Es wird ein Fehler angezeigt, da Sie eine Schrittdefinitionsdatei schreiben mรผssen, die zur Feature-Datei passt.

Schritt 9) Erstellen Sie eine Schrittdefinitionsdatei fรผr Ihre Feature-Datei.

Erstellen Sie im RubyMine-Editor einen neuen Ordner mit dem Namen โ€žstep_definitionโ€œ.

Cucumber Skript:Multiplizieren mit 2 Numbers

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 10) Speichern Sie die Datei unter dem Namen test_step.rb im Verzeichnis โ€žyourfolder/features/step_definitionsโ€œ.

Cucumber Skript:Multiplizieren mit 2 Numbers

Cucumber Skript:Multiplizieren mit 2 Numbers

Schritt 11) Schreiben Sie den folgenden Code in die Schrittdefinitionsdatei. Jeder Block entspricht einem Gherkin-Schritt aus der Feature-Datei.

Cucumber Skript:Multiplizieren mit 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

Schritt 12) Fรผhren Sie die Feature-Datei erneut aus.

Cucumber Skript:Multiplizieren mit 2 Numbers

Das Ergebnis ist unten dargestellt.

Cucumber Skript:Multiplizieren mit 2 Numbers

Cucumber Skript 2: Ausgabe รผberprรผfen, wenn eine E-Mail-ID eingegeben wird oder nicht

In diesem zweiten Beispiel verwenden Sie Ruby mit Watir einen Browser ausfรผhren und zwei Registrierungsszenarien validieren Guru99 Demo-Website. Die gleichen Muster gelten, wenn Sie รผbernehmen Cucumber-JVM 7.x mit Selenium WebDriver und Java.

In diesem Beispiel verwenden wir Ruby.

Testszenario: Ausgabe รผberprรผfen, wenn keine E-Mail-Adresse eingegeben wird.

Testschritte:

  1. Browser รถffnen
  2. Gehe zu https://demo.guru99.com/
  3. Do kein Frontalunterricht. E-Mail-ID eingeben
  4. Klicken Sie auf Senden

Testszenario: Ausgabe รผberprรผfen, wenn eine E-Mail-Adresse eingegeben wird.

Testschritte:

  1. Browser รถffnen
  2. Gehe zu https://demo.guru99.com/
  3. E-Mail-ID eingeben
  4. Klicken Sie auf Senden

Code in der Feature-Datei:

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 in der Schrittdefinitionsdatei:

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

Fรผhren Sie den Code in der Eingabeaufforderung aus und Sie erhalten die folgende Ausgabe.

รœberprรผfen Sie die Ausgabe, wenn die E-Mail-ID eingegeben oder nicht eingegeben wird

Hรคufig gestellte Fragen

Eine Feature-Datei ist eine einfache Textdatei mit der Endung .feature, die mithilfe der Gherkin-Syntax eine Anwendungsfunktion beschreibt. Sie gruppiert zusammengehรถrige Szenarien, die mit den Schritten โ€žGegebenโ€œ, โ€žWennโ€œ und โ€žDannโ€œ formuliert sind, sodass auch nicht-technische Stakeholder das Verhalten gemeinsam mit den Entwicklern lesen und รผberprรผfen kรถnnen.

Jeder Gherkin-Schritt besteht nur aus Text. Cucumber benรถtigt eine Schrittdefinition, die den Schritt ausfรผhrbarem Code in Ruby zuordnet. Javaoder eine andere Sprache. Ohne diese KartepingDer Runner meldet undefinierte Schritte und das Szenario kann die beabsichtigte Logik nicht ausfรผhren.

CucumberJVM 7.x ist die aktuelle stabile Version und wird fรผr neue Benutzer empfohlen. Java und Kotlin-Projekte. Cucumber Ruby 9.x ist nach wie vor die moderne Wahl fรผr Ruby-Teams. Beide Versionen unterstรผtzen JUnit 5. Parallele Ausfรผhrung und tagbasierte Filterung fรผr CI-Pipelines.

KI-Assistenten analysieren User Stories, Akzeptanzkriterien und historische Fehler, um Gherkin-Szenarien im Given-When-Then-Format zu erstellen. Sie schlagen Grenzfรคlle, alternative Lรถsungswege und Tag-Vorschlรคge vor, sodass BDD-Teams mehr Verhalten abdecken kรถnnen, ohne stundenlang jede Feature-Datei manuell schreiben zu mรผssen.

Ja. KI-Tools lesen Feature-Dateien, ordnen jeden Gherkin-Schritt dem vorhandenen Code zu und generieren neue Schrittdefinitionsmethoden in Ruby oder JavaSie generieren Boilerplate-Code, Parameter-Regex und Assertions-Stubs, sodass Entwickler nur noch die Geschรคftslogik verfeinern mรผssen, anstatt jede Verbindungsfunktion von Hand zu schreiben.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: