I want to run cucumber feature file from java code.
currently we are running form JUnit Runner
package com.compareglobalgroup.testscript;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@CucumberOptions(features = { "src/test/resources/feature/BB" }, glue = { "com.compareglobalgroup.stepdefs.BB",
"com.compareglobalgroup.cucumber.hooks" }, plugin = {
"json:cucumberreport/json/cucumberreport.json" }, tags = { ""
+ "@Test" })
public class TestRunnerBB extends AbstractTestNGCucumberTests {
}
I don't want to use this instead I want to run this using java program because I want to pass tags at run time from command line or jenkins.
I would recommend qaf-gherkin where you don't need to use junit or other runner. All you need to specify step provider package and feature file(s) or dir to run. For example:
You can walk through qaf-step-by-step-tutorial
Call the static main method of Main class in the package
cucumber.api.cli
that corresponds to running cucumber from the command line.For additional parameters like tags or plugin use
"-t","@Tags"
. Important the feature file path has to be the last option.BTW - In the your example you are running with a TestNG cucumber runner.