我需要根据我在cucumber test runner中提供的标记获取要执行的所有场景的列表。但是,我必须在测试开始执行之前得到这个列表。
我知道有一个名为“@beforeclass”的标签,但我不确定是否可以使用它来获取将要运行的所有场景的列表。比如像这样的事情
@BeforeClass
public void intialize(Scenario[] scenario) throws Exception { }
下面是我的代码测试运行类
package com.automation.cucumber;
import com.automation.Utils;
import io.cucumber.java.Scenario;
import io.cucumber.testng.*;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import java.io.File;
@CucumberOptions(features = "features/amazon"
,glue="com.automation.cucumber"
,tags = "@tt"
,dryRun = true
, plugin = {"json:target/cucumber-reports/cucumber.json"})
public class CucumberTestRunner extends AbstractTestNGCucumberTests {
static String resultFolder;
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
@BeforeClass
public void intialize() throws Exception {
resultFolder = Utils.createTestReportFolder();
if(resultFolder==null)
{
throw new Exception("Unable to create a result folder");
}
System.out.println();
}
}
1条答案
按热度按时间wko9yo5t1#
您可能需要实现eventlistener类来获取该信息并执行以下操作
dryRun = true
在你的Runner
上课时间@CucumberOptions
引用一个能帮助你实现你需要的问题