Gherkin is a simple, easy-to-read language used in Behavior-Driven Development (BDD) to describe software behavior without programming. It's widely used for writing acceptance tests in tools like Cucumber.
Basic Structure
A Gherkin file typically includes:
- Feature (the overall purpose)
- Scenario (a specific example of behavior)
- Steps (actions, outcomes, and expectations)
Feature: User Login
Scenario: Successful login with valid credentials
Given I am on the login page
When I enter "username" and "password"
Then I should be redirected to the dashboard
Key Keywords
Keyword | Description |
---|---|
Feature |
Defines the scope of the test |
Scenario |
Represents a specific test case |
Given |
Sets up the initial context |
When |
Describes the action taken |
Then |
States the expected outcome |
Best Practices
- Use clear, concise language ✅
- Keep steps atomic (single action per line) 📌
- Include both positive and negative scenarios ⚠️
Example with Images
Here's how Gherkin syntax looks in practice:
For more details about BDD concepts, check our BDD Introduction Tutorial.