我正在尝试根据变量@tags(如果可能的话)运行特定的小cucumber场景。例如,如果我的配置文件是“dev”,我想运行方案 1,如果配置文件是“qa”,我想运行方案 2。我可以在我的 java 类中获取配置文件值。我还可以在命令行中传递标签并按照此处所述运行它。但这不是我要找的东西。例如:
@QA
Scenario:I do x and check y
Given I do abc
Then the response is 200
@DEV
Scenario:I do y and check x
Given I do cde
Then the response is 500
我在java类中获取配置文件值
System.getProperty("myprofile");
如何根据我的配置文件为cucumber设置标签,以便我可以在特定环境中运行特定测试?基本上,我不想在命令行中传递标记,而是想根据我的配置文件设置标记。有可能吗?如果没有,最好的方法是什么?
我使用maven配置文件实现了这一点。在每个配置文件中,将cucumber选项设置为
<profiles>
<profile>
<id>development</id>
<properties>
<cucumber.options>
--tags @myTags
</cucumber.options>
<properties>
</profile>
............
</profiles>
然后将其作为构建插件中的系统属性变量传递为
<build>
<plugins>
<plugin>
<configuration>
<systemPropertyVariables>
<cucumber.options>${cucumber.options}</cucumber.options>
</systemPropertyVariables>
</configuration>
<plugin>
</plugins>
</build>