TestingDocs.com
Software Testing website
  • JBehave
  • Selenium
  • Testlink
  • Maven
  • Git
  • RAPTOR

Cucumber Java BDD Selenium Framework

Document Contents

  • Overview
  • Create a Maven Project
  • Configure the Project
  • Add Cucumber Java Dependencies
  • Eclipse plugin for Cucumber
  • Add Gherkin Steps
  • Add Step Definitions
  • Cucumber Test Runner
  • Download Browser Driver
  • Run the Tests

Overview

Let’s learn the steps involved in creating Cucumber Java BDD Selenium Project using Eclipse IDE in this tutorial.

Create a Maven Project

Create a New Project Eclipse

Configure the Project

 

Cucumber Java

 

Add Cucumber Java Dependencies

<dependencies>
    <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-java</artifactId>
      <version>6.8.1</version>
    </dependency>
    <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-junit</artifactId>
      <version>6.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.141.59</version>
    </dependency>
  </dependencies>

 

 

Eclipse plugin for Cucumber

https://www.testingdocs.com/questions/how-to-install-cucumber-eclipse-plugin/

Add Gherkin Steps

#Sample Demo Feature file
#www.TestingDocs.com

Feature:
  Browse Google search page, and search for a query,
  The search results should show the results about search query.

Scenario:
  Given that I go to Google search page
  When I add "testingdocs" to the search textbox
  And Click the Search Button
  Then "testingdocs" related results should show up

 

Add Step Definitions

Step definitions are methods or code that connect Gherkin steps.

package Steps;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import io.cucumber.java.After;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;

public class GoogleSearchSteps {
  private final WebDriver driver = new ChromeDriver();
  WebElement element;
  @Given("that I go to Google search page")
  public void that_i_go_to_google_search_page() {
    System.out.println("Google Search page");
    driver.get("https://www.google.com");
  }

  @When("I add {string} to the search textbox")
  public void i_add_to_the_search_textbox(String string) {
    System.out.println("Type Search Keyword");
    element = driver.findElement(By.name("q"));
    element.sendKeys(string);

  }

  @When("Click the Search Button")
  public void click_the_search_button() {
    System.out.println("Click Search Button");
    element.submit();
  }

  @Then("{string} related results should show up")
  public void related_results_should_show_up(final String title) {
    System.out.println("Google Search Results Page");
    new WebDriverWait(driver,30L).until(new ExpectedCondition<Boolean>() {
      public Boolean apply(WebDriver d) {
        return d.getTitle().toLowerCase().startsWith(title);
      }
    });
  }

  @After()
  public void closeBrowser() {
    driver.quit();
  }

}

 

Cucumber Test Runner

package Steps;

import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(features="src/test/resources/Features",glue= {"Steps"})
public class CucumberTestRunner {

}

Download Browser Driver

For example Download Chrome Driver.

https://sites.google.com/a/chromium.org/chromedriver/

Copy the driver executable to the project folder.

Run the Tests

Run the tests as JUnit tests.

Cucumber Selenium Tests

 

 

JBehave Tutorials on this website can be found at:
https://www.testingdocs.com/jbehave-framework-tutorial/

For more details on Cucumber, visit the official website at:

https://cucumber.io/

 

Related Posts

JBehave + Serenity Sample Project

JBehave /

JBehave + Serenity Sample Project

Serenity BDD Automation Framework

JBehave /

Serenity BDD Automation Framework

Serenity Maven Artifacts

JBehave /

Serenity Maven Artifacts

Introduction to Serenity BDD

JBehave /

Introduction to Serenity BDD

Jbehave Ubuntu

JBehave /

Install JBehave Plugins on Ubuntu

Tag Cloud

Agile Appium Tutorials C++ Eclipse Tutorials Git Tutorials IntelliJ Tutorials Java Java Tutorial JBehave Jenkins Jira Cloud JUnit Tutorial Maven Object-oriented Flowchart Python Tutorials Raptor Flowcharts Selenium IDE TestLink Tutorials

Random Posts

  • TestLink Bitnami Cloud Image
  • Code Coverage Tools
  • pCloudy Continuous Testing Cloud

Latest Tweets

Tweets by @TestingDocs

Back to Top

TestingDocs.com

About

Contact

Privacy Policy

Cookie Policy

  • JBehave
  • Selenium
  • Testlink
  • Maven
  • Git
  • RAPTOR
www.TestingDocs.com | All Rights Reserved