Glossar · UI-Automatisierung
Gherkin
Auch genannt: Gherkin-Syntax, Given-When-Then, Given/When/Then, Feature-Datei
Definition
Die Klartext-Syntax Given-When-Then, mit der BDD-Szenarien in .feature-Dateien geschrieben werden und die Tools wie Cucumber als automatisierte Tests ausführen.
Gherkin ist eine kleine, strukturierte Sprache, um Softwareverhalten anhand von Beispielen zu beschreiben. Jede Datei hat die Endung .feature und enthält ein Feature, das aus Scenarios besteht; jedes Szenario ist eine Liste von Steps, die mit Given (Kontext), When (Aktion) und Then (erwartetes Ergebnis) beginnen. Tools wie Cucumber ordnen jedem Step eine Step Definition im Code zu, sodass derselbe Text zugleich Dokumentation und automatisierter Test ist.
Beispiel
Feature: Password reset
Background:
Given a registered user "ada@example.com"
Scenario: Reset link is sent for a known email
When she requests a password reset for "ada@example.com"
Then a reset email is sent to "ada@example.com"
And the link expires after 30 minutes
Scenario Outline: Weak passwords are rejected
When she sets her new password to "<password>"
Then she sees the error "<message>"
Examples:
| password | message |
| abc | Use at least 12 characters |
| password | This password is too common |
Und eine passende Step Definition in Java mit Cucumber:
@When("she sets her new password to {string}")
public void setNewPassword(String password) {
resetPage.setPassword(password);
}
Wichtige Schlüsselwörter
And/Butsetzen den vorherigen Step-Typ fort und verbessern die Lesbarkeit.Backgroundläuft vor jedem Szenario der Datei. Halten Sie ihn kurz.Scenario OutlinemitExamplesführt das Szenario einmal pro Tabellenzeile aus – datengetriebenes Testen in Gherkin-Form.- Tags wie
@smokeoder@wipüber einem Szenario erlauben es, Teilmengen zur Ausführung auszuwählen. Rule(ab Gherkin 6) gruppiert Szenarien unter der Geschäftsregel, die sie veranschaulichen.
Gute Szenarien schreiben
- Ein Verhalten pro Szenario. Mehrere
When/Then-Paare bedeuten meist zwei Szenarien. - Deklarativ, nicht imperativ. „When she requests a password reset“ ist besser als drei Steps über das Tippen in Felder und das Klicken von Buttons.
- Konkrete Werte. Echte Beispiele („120.00“, „Gold“) decken Missverständnisse auf, die vage Formulierungen („eine große Bestellung“) verbergen.
- Dritte Person oder einheitliche Persona. Wer „ich“, „der Nutzer“ und benannte Personas mischt, lässt die Step-Bibliothek ausufern.