如何使用黄瓜配置文件动态使用不同的环境主机名,testdata,testGroup。我正在使用黄瓜,java,maven

时间:2019-03-25 16:06:11

标签: maven cucumber

我将测试用例写在功能文件中。测试用例根据需求进行标记。 我希望通过传递概要文件名称,使用maven命令在不同的环境中执行这些测试用例。 每个配置文件将具有特定环境的主机名,用户名和密码。 我该如何实现?

@stage_ready
Feature: GUI Tests
Background:
    Given the site <hostname> is reached using "Chrome" browser
    When maximize window
    And credentials <user_host> is typed into the "sd_username_editbox" 
    And credentials <password_host> is typed into the "sd_password_editbox"
    And the "sd_login_button" button is clicked

命令行:

mvn test -Dcucumber.options=”–tags @stage_ready” -p profile_name

我想知道如何编写配置文件,该配置文件具有用于不同配置文件的参数,例如主机名,user_host,password_host,并在黄瓜步骤中动态使用,我在尖括号中标记了这些代码以供参考。

1 个答案:

答案 0 :(得分:2)

Cucumber documentation: “配置文件在Java中不可用。”

如果要将参数传递给Maven,则可以使用Maven profiles

例如(通过上面的Maven链接):

<project>
  ...
  <profiles>
    <profile>
      <id>appserverConfig-dev</id>
      <activation>
        <property>
          <name>env</name>
          <value>dev</value>
        </property>
      </activation>
      <properties>
        <appserver.home>/path/to/dev/appserver</appserver.home>
      </properties>
    </profile>

    <profile>
      <id>appserverConfig-dev-2</id>
      <activation>
        <property>
          <name>env</name>
          <value>dev-2</value>
        </property>
      </activation>
      <properties>
        <appserver.home>/path/to/another/dev/appserver2</appserver.home>
      </properties>
    </profile>
  </profiles>
  ..
</project>