2017-10-18 2 views
2

java 코드에서 오이 기능 파일을 실행하고 싶습니다.JUnit Runner가 아닌 java 코드에서 오이 기능 파일을 실행하는 방법

현재 우리가 폼의 JUnit 러너를 실행하는

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 { 

} 

내가 명령 줄이나 젠킨스에서 런타임에 태그를 전달하려는 때문에 대신 나는이 사용하는 자바 프로그램을 실행하려면이를 사용하지 않습니다.

답변

3

cucumber.api.cli 패키지의 static main method Main을 명령 행에서 실행하는 것과 같습니다. 태그 또는 플러그인을 사용 "-t","@Tags" 같은 추가 매개 변수의

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 

     } 

. 중요한 기능 파일 경로는 마지막 옵션이어야합니다.

현재 -이 예에서는 TestNG 오이 러너로 실행 중입니다.

1

나는 junit이나 다른 러너를 사용할 필요가없는 qaf-gherkin을 권하고 싶습니다. 실행할 단계 공급자 패키지와 기능 파일 또는 실행 경로를 지정하기 만하면됩니다. 예를 들어 :

<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-step-by-step-tutorial

+0

감사를 통해 걸어 갈 수 있습니다. 나는 이미 프레임 워크를 만들었으므로 앞으로 이것을 사용할 것이다. – bugCracker

관련 문제