Updated recently
Last updated:
Quick Answer: BDD with Cucumber uses Gherkin syntax (Given/When/Then) to write readable test scenarios. Steps: (1) write a .feature file in Gherkin, (2) create step definitions in Java/JavaScript, (3) run with JUnit or TestNG, (4) view the HTML report.
What is BDD?
Behavior-Driven Development writes test scenarios in natural language (Gherkin) that non-technical stakeholders can understand. Cucumber is the most popular BDD framework.
Write a Feature File
Feature: User Login
As a registered user
I want to log in with my credentials
Scenario: Successful login
Given I am on the login page
When I enter valid email "[email protected]"
And I enter valid password "SecurePass123"
And I click the login button
Then I should be redirected to the dashboard
Create Step Definitions
import io.cucumber.java.en.*;
public class LoginSteps {
@Given("I am on the login page")
public void iAmOnTheLoginPage() {
driver.get("https://example.com/login");
}
@When("I enter valid email {string}")
public void iEnterValidEmail(String email) {
driver.findElement(By.id("email")).sendKeys(email);
}
@Then("I should be redirected to the dashboard")
public void iShouldBeRedirected() {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.urlContains("/dashboard"));
}
}
Gherkin Syntax Reference
| Keyword | Purpose |
|---|---|
| Feature | Describes the feature |
| Scenario | A single test case |
| Given | Precondition / initial state |
| When | Action performed |
| Then | Expected outcome |
| And | Additional steps |
Benefits of BDD
- Collaboration: PMs, developers, and testers all understand Gherkin
- Living documentation: Feature files serve as up-to-date docs
- Reusable steps: Step definitions shared across features
Training Resources
Master test automation with SkilBrill Selenium with Java Training.
FAQ
Is BDD still relevant in 2026?
Yes. BDD remains widely adopted in enterprise environments for stakeholder collaboration.
