iam*_*nos 4 java bdd cucumber-junit selenium-webdriver cucumber-java
是否可以从java .properties文件中获取黄瓜选项值?
在此 SO帖子中,它表明它是从CLI传递的。
这是我的示例课:
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"resources/features/"},
glue = {"classpath:com/"},
tags = {"@foo, @bar"}
)
public class UITestRunner {
}
Run Code Online (Sandbox Code Playgroud)
我不想在这里对标签进行硬编码,而是从属性文件中获取标签。任何帮助表示赞赏!
希望您知道如果从命令行运行,您可以使用系统属性
mvn test -Dcucumber.options="--features resources/features/ --tags ~@ignore" -Dtest=AnimalsTest
Run Code Online (Sandbox Code Playgroud)
这意味着您可以以编程方式设置这些属性:
@RunWith(Cucumber.class)
public class CatsRunner {
@BeforeClass
public static void before() {
System.setProperty("cucumber.options", "--features resources/features/ --tags ~@ignore");
}
}
Run Code Online (Sandbox Code Playgroud)
希望能给你一些想法。例如,您可以手动从文件中读取属性,然后实现您想要的。
编辑:显然上述方法不起作用。所以这是我的下一个想法,通过扩展Cucumber
类来实现你自己的 JUnit Cucumber runner 。请参阅此示例。所以在构造函数中你应该有完全的控制权。
黄瓜将首先查找由cucumber.api.cli.Main
或提供的参数@CucumberOptions
但是您可以覆盖它们(按此特定顺序):
CUCUMBER_OPTIONS
cucumber.options
cucumber.properties
具有cucumber.options
属性的Java资源包找到上述选项之一后,将使用它。覆盖在称为cucumber.options
或的变量(或属性)中提供CUCUMBER_OPTIONS
。除插件参数外的所有值都将覆盖cucumber.api.cli.Main
或提供的值@CucumberOptions
。插件选项将加到cucumber.api.cli.Main
或指定的插件上@CucumberOptions
。
归档时间: |
|
查看次数: |
5909 次 |
最近记录: |