Was ist Cucumber Feature File & Step Definition? (Beispiel)

Für jedes Gurkenprojekt gibt es ein einzelnes Verzeichnis im Stammverzeichnis des Projekts mit dem Namen „Funktionen„. Hier befinden sich alle Ihre Gurkenfunktionen. In diesem Verzeichnis finden Sie weitere Verzeichnisse Schrittdefinition und Support-Verzeichnisse

Was ist eine „Feature-Datei“?

Die Funktionsdatei enthält eine allgemeine Beschreibung des Testszenarios in einfacher Sprache. Es ist bekannt als Gurke. Gherkin ist eine einfache englische Textsprache

Die Gurken-Feature-Datei besteht aus folgenden Elementen:wing Komponenten –

  • Serienmäßige Funktionen: Eine Funktion würde das aktuelle Testskript beschreiben, das ausgeführt werden muss.
  • Szenario: Szenario beschreibt die Schritte und das erwartete Ergebnis für einen bestimmten Testfall.
  • Szenario-Übersicht: Mithilfe der Szenarioübersicht kann dasselbe Szenario für mehrere Datensätze ausgeführt werden. Die Daten werden durch eine tabellarische Struktur bereitgestellt, die durch (II) getrennt ist.
  • Gegeben: Gibt den Kontext des auszuführenden Textes an. Durch die Verwendung von Datentabellen „Given“ kann der Schritt auch parametrisiert werden.
  • Wann : „Wann“ gibt die Testaktion an, die ausgeführt werden muss
  • Dann: Das erwartete Ergebnis des Tests kann durch „Dann“ dargestellt werden.

Als nächstes lernen wir anhand eines Beispiels, wie man eine Feature-Datei in Cucumber schreibt.

Beispiel für eine Feature-Datei:

Feature: Visit career guide page in career.guru99.com
Scenario: Visit career.guru99.com
Given: I am on career.guru99.com
When: I click on career guide menu
Then: I should see career guide page

Gurken-Grundlagen

Was ist „Schrittdefinition“?

Die Schrittdefinition ordnet die Testfallschritte in den Feature-Dateien (eingeführt durch Given/When/Then) dem Code zu. Es führt die Schritte für die zu testende Anwendung aus und vergleicht die Ergebnisse mit den erwarteten Ergebnissen. Damit eine Schrittdefinition ausgeführt werden kann, muss sie mit der angegebenen Komponente in einem Feature übereinstimmen. Die Schrittdefinition wird in Ruby-Dateien unter „features/step_definitions/*_steps.rb“ definiert.

Beispiel für Schrittdefinition: Hier verwenden wir das obige Cucumber-Feature-File-Beispiel für das Surfen auf Career.guru99.com. Wir verwenden Funktionen wie „When, Then, Given“, wie in den folgenden Cucumber-Feature-File-Beispielen gezeigt.

Step 1:

Given (/^ I am on career.guru99.com$/) do

Browser.goto "http://career.guru99.com" -This will visit career.guru99 on browser

end

Step 2:
When (/^ click on career guide menu$/) do

Browser.text (:name, " career guide" ).click – This will click "career guide menu"

end
	
Step 3:

Then (/^ I should see career guide page$/) do

Browser.goto "http://career.guru99.com/category/career-guide/" - It will visit "career guide page"

end

Zusammenfassung

  • Sie benötigen zwei Dateien – Funktionen und Schrittdefinition, um ein Cucmber-Testszenario auszuführen
  • Die Funktionsdatei enthält eine allgemeine Beschreibung der Testszenario in einfacher Sprache
  • Die Schrittdefinitionsdatei enthält den eigentlichen Code zum Ausführen des Testszenarios in der Features-Datei.