How to run cucumber feature file from java code not from JUnit Runner How to run cucumber feature file from java code not from JUnit Runner selenium selenium

How to run cucumber feature file from java code not from JUnit Runner


Call the static main method of Main class in the package cucumber.api.cli that corresponds to running cucumber from the command line.

public static void main(String[] args) throws Throwable {    Main.main(new String[]{"-g", "classpath to step definition file", "Full path to feature file"});          // My stepdefinition is inside java package at cucumber.sample.test          // My feature file is inside src/test/resources/features/featurefile.feature        } 

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.


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:

<test name="Gherkin-QAF-Test">   <parameter name="step.provider.pkg" value="com.qmetry.qaf.automation.impl.step.qaf" />   <parameter name="scenario.file.loc" value="resources/features" />   <classes>      <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />   </classes></test>

You can walk through qaf-step-by-step-tutorial