我正在开发一个桌面应用程序,它将执行自动测试用例。用户可以从GUI中选择执行类型:按功能/按场景/按tagName。现在,我正在使用maven并在CMD中执行命令来执行测试用例,我想切换到TestNG执行,但是我需要从配置文件CucumberOptions中动态设置,
@CucumberOptions(features = { "src/test/resources/features/" }, tags = { "@Test3" }, glue = { "stepdefinitions" }, plugin = { "listeners.ExtentCucumberFormatter:" })
public class TestNGRunner extends AbstractTestNGCucumberTests {
}
但是CucumberOptions需要一个常量表达式,我无法设置它们。
有什么办法可以做到吗?
最佳答案
您可以通过命令行参数传递黄瓜选项:
您可以列出适用于您所使用的黄瓜版本的选项
使用。
传递--help选项以打印出所有可用配置
选项:
java cucumber.api.cli.Main --help
要么:
mvn test -Dcucumber.options="--help"
您还可以使用标签来指定要运行的内容。
配置选项也可以被覆盖并传递给任何
通过Cucumber.options Java系统属性运行。
例如,如果您正在使用Maven并希望运行
用@smoke标记的场景:
mvn test -Dcucumber.options="--tags @smoke"
提供了将选项传递给黄瓜的其他机制。一些跑步者
Cucumber Options Documentation