我正在忙于用Java编码的BDD自动化项目。我们使用Cucumber运行BDD。我们用来启动运行的JUnit类如下:
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = {"usage", "json:target/cucumber.json", "html:target/cucumber", "com.cucumber.listener.ExtentCucumberFormatter:"},
glue = {"BDD.step_definitions"},
features = {"Unit-Tests\\Features"},
dryRun = false,
monochrome = false,
strict = true
)
我遇到的问题是我想通过Jenkins参数化CucumberOptions,理想情况下是通过Jenkins选择参数设置要素文件或场景名称。
我正在使用AntBuild在Jenkins上构建和测试我的项目。是否可以在构建XML上设置CucumberOptions?
答案 0 :(得分:1)
您有兴趣了解如何将参数发送给在Jenkins中运行的Java进程。
可以这样设置黄瓜选项:
-Dcucumber.options="--help"
如果您是从Maven运行的,则如下所示:
mvn test -Dcucumber.options="--help"
可以通过以下方式运行特定标签:
-Dcucumber.options="--tags @wip"
更多细节可以在Cucumber docs或我不久前写的blog post中找到。
答案 1 :(得分:1)
我使用这种方式来参数化 CucumberOptions,如标签、名称或功能:
这里我正在使用 CucumberOptions 运行一个特定的测试
@CucumberOptions(
features = {"src/test/resources/feature/"},
glue = {"com.testautomation.test.stepdefinitions"},
tags={"@jobs"},
name= Constants.FILTER_NAME_PROPERTY_NAME
)
你需要做的就是从 import io.cucumber.core.options.Constants 导入 Costants 并设置系统环境变量cucumber.filter.name