Cucumber Java中的活动标签



是否有任何方法可以识别哪个是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");

现在您可以解析值(用逗号分隔或另外删除@符号等(

最新更新