提问者:小点点

基于Maven配置文件的cucumber标签


我正在尝试根据变量@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设置标签,以便我可以在特定环境中运行特定测试?基本上,我不想在命令行中传递标记,而是想根据我的配置文件设置标记。有可能吗?如果没有,最好的方法是什么?


共1个答案

匿名用户

我使用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>