CucumberJVM: 06 - Data Driven BDD with DataTable
Using DataTables isn't really preferred, but here's how to do it
Tags
Using DataTables isn't really preferred, but here's how to do it
Feature: Free CRM Create Contacts
Scenario Outline: Free CRM Login Test Scenario
Given user is already on Login Page
When title of login page is Free CRM
Then user enters "<username>" and "<password>"
Then user clicks on login button
Then user is on home page
Then user moves to new contact page
Then user enters contact details "<firstname>" and "<lastname>" and "<position>"
Then close the browser
Examples:
| username | password | firstname | lastname | position |
| naveenk | test@123 | ucFirst1 | ucLast1 | manager |
| naveenk | test@123 | ucFirst2 | ucLast2 | qa |
Then user enters username and password
@Then("^user enters username and password$")
public void user_enters_username_and_password() {
driver.findElement(By.xpath("//input[@name='username']")).sendKeys("naveenk");
driver.findElement(By.name("password")).sendKeys("test@123");
}
Then user enters "naveenk" and "test@123"
// @Then("^user enters \"(.*)\" and \"(.*)\"$")
@Then("^user enters \"([^\"]*)\" and \"([^\"]*)\"$")
public void user_enters_username_and_password(String username, String password) {
driver.findElement(By.xpath("//input[@name='username']")).sendKeys(username);
driver.findElement(By.name("password")).sendKeys(password);
}
true = Validate the Cucumber Feature, Definition & Runner wiring
false = execute Definition logic
Copyright 2018· All rights reserved