BDD framework for automation using Selenium Cucumber and TestNg
BDD framework for automation using Selenium Cucumber and TestNg
The framework has following features
To use the class for handling the web component create the object and use it
GridHelper grid = new GridHelper(driver);
grid.typeInGrid(item,GridLocator.cartId,1,1,qty);
Add the feature file under test\resources\featurefile
Feature: Adding a laptop to the Cart
@chrome
Scenario: Search Laptop and add it to the cart
Given : I am at the home page
When : I click on the "Laptops" search filter
Then : I should be at the "Laptops" search page with "35 items"
And : The title should be "Laptops" search page
Then : I select the "APPLE MacBook Pro Retina" with description as "15-inch, 256GB"
And : Add it to the cart
Then : Navigate to user details page and provide the following details
| Destination | Singapore |
| Airline | AirAsia |
| FlightNo | A089 |
| FlightDate | 24/08/2016 |
| FlightTime | 5:00 |
| Terminal | Terminal 1 |
| FirstName | Selenium |
| LastName | Java |
| Email | [email protected] |
| Phone | 121212121 |
use the tag @chrome
to launch the specific browser or no-tag to use the browser form the config.properties
file
/**
* @author rahul.rathore
*
* 14-Aug-2016
*/
package com.cucumber.framework.runner;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@CucumberOptions(features = { "classpath:featurefile/Search.feature" }, glue = {
"classpath:com.cucumber.framework.stepdefinition",
"classpath:com.cucumber.framework.helper" }, plugin = { "pretty",
"json:target/SearchFeatureRunner.json" })
public class SearchFeatureRunner extends AbstractTestNGCucumberTests {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<listeners>
<listener
class-name="com.cucumber.framework.listeners.reportlistener.CucumberReport" />
</listeners>
<test name="Test - 1">
<classes>
<class name="com.cucumber.framework.runner.SearchFeatureRunner" />
<class name="com.cucumber.framework.runner.LaptopFeatureRunner" />
<class name="com.cucumber.framework.runner.TabletFeatureRunner" />
<class name="com.cucumber.framework.runner.SearchWithFilterRunner" />
</classes>
</test>
</suite>
mvn clean generate-sources test
There is a feature overview page:
And there are also feature specific results pages:
And useful information for failures:
If you have tags in your cucumber features you can see a tag overview:
And you can drill down into tag specific reports: