是否有任何方法可以识别哪个是cucumber-Java中当前正在运行的cucumber标签,用于API测试?
我正在使用Cucumber Java和TestNG。为了在不同的环境中进行分组和执行,我使用了黄瓜标签。
标签以功能级别给出。为同一功能指定了多个标记。类似:
@regression-staging @regression-production
Feature: Add to cart
Scenario:
.
.
.
相同的代码用于暂存和生产。随着构建的进行,我正在使用Maven。由于使用了TestNG,所以测试是由我编写的RunTestNGTest
类触发的。在RunTestNGTest
中,我有@BeforeSuite和@AfterSuite方法。
使用mvn命令运行测试
mvn test -Dcucumber.filter.tags=@regression-staging
或mvn test -Dcucumber.filter.tags=@regression-production
我是否可以获取当前正在运行的标签?(在我的情况下,任何一个都将同时处于活动状态(。我想记录当前使用的标记,也想在HTML报告中使用相同的标记。我尝试了scenario.getSourceTagNames();
,但它返回了场景的所有标签,而不是当前运行的标签。
您可以简单地从代码中访问cucumber.filter.tags
,就像访问任何其他系统属性一样:
String myCurrentTag = System.getProperty("cucumber.filter.tags");
现在您可以解析值(用逗号分隔或另外删除@
符号等(