BDD cucumber Parallel execution
Parallel Execution
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Automation</groupId> <artifactId>parallelExecution</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.14.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi
--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency>
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>org.apache.directory.studio</groupId> <artifactId>org.apache.commons.io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>com.aventstack</groupId> <artifactId>extentreports</artifactId> <version>3.1.3</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version> </dependency> <!--
https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.1.0</version> </dependency> <!--
https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20180813</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-junit</artifactId> <version>6.1.1</version> </dependency> <!--
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java8</artifactId> <version>6.7.0</version>
</dependency> --> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-java</artifactId> <version>6.1.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.21.0</version> <configuration> <parallel>methods</parallel> <useUnlimitedThreads>true</useUnlimitedThreads> <includes> <include>**/Runner.class</include> </includes> </configuration> </plugin> </plugins>
</build> </project> |
|
package cucumberRunner; import
org.junit.runner.RunWith; import
io.cucumber.junit.Cucumber; import
io.cucumber.junit.CucumberOptions; @RunWith(Cucumber.class) @CucumberOptions( features={"src//test//resources//parallel//"}, glue={"StepDefination"}, plugin = { "html:target/cucumber-html-report", "json:target/cucumber.json", "pretty:target/cucumber-pretty.txt", "usage:target/cucumber-usage.json", "junit:target/cucumber-results.xml", "rerun:target/rerun.txt" } ) public class Runner { } |
|
Feature: Scenarios feature file Scenario: ScenarioNumber One Given Step from 'Scenario 1' in 'scenarios' feature file Scenario: ScenarioNumber Two Given Step from 'Scenario 2' in 'scenarios' feature file |
scenario-outlines.feature
|
Feature: ScenarioOutlines feature
file Scenario Outline:
<scen_out_row_num> Given Step from '<scen_out_row_num>' in 'scenario-outlines' feature file Examples: | scen_out_row_num
| | Scenario Outline Row 1 | | Scenario Outline Row 2 | |
StepDefs
|
package StepDefination; import
io.cucumber.java.en.Given; import parallelExecution.root; public class StepDefs extends root { @Given("Step
from {string} in {string} feature file") public void step(String scenario, String file) throws InterruptedException { System.out.format("Thread ID - %2d - %s from %s feature file.\n", Thread.currentThread().getId(),
scenario,file); //driver.get("https://maven.apache.org/guides/mini/guide-creating-archetypes.html"); Thread.sleep(500); } } |
hooks
|
package StepDefination; import
org.openqa.selenium.chrome.ChromeDriver; import io.cucumber.java.After; import io.cucumber.java.Before; import
io.cucumber.java.Scenario; import parallelExecution.root; public class hooks extends root { @Before public void BeforeScenario(Scenario scenario) { System.setProperty("webdriver.chrome.driver", "src//test//resources//chromedriver.exe"); driver=new ChromeDriver(); driver.get("https://maven.apache.org/guides/mini/guide-creating-archetypes.html"); } @After public void AfterScenario(Scenario scenario) { driver.close(); } } |
Comments
Post a Comment