Как запустить файл функций огурца из кода Java, а не из JUnit Runner

Я хочу запустить файл функций огурца из кода Java.

в настоящее время мы работаем с 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 {

}

Я не хочу использовать это вместо этого, я хочу запустить это, используя программу Java, потому что я хочу передавать теги во время выполнения из командной строки или jenkins.

2 ответа

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

        } 

Для дополнительных параметров, таких как теги или плагин, используйте "-t","@Tags", Важно, чтобы путь к файлу был последним.

BTW - In the your example you are running with a TestNG cucumber runner.

Я бы порекомендовал qaf-gherkin там, где вам не нужно использовать junit или другой раннер. Все, что вам нужно, указать пакет поставщика шагов и файл (ы) функций или каталог для запуска. Например:

<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>

Вы можете пройти через пошаговое руководство по qaf

Другие вопросы по тегам