首页 > 解决方案 > 如何使用黄瓜配置文件动态使用不同的环境主机名、testdata、testGroup。我正在使用黄瓜、java、maven

问题描述

我在功能文件中编写了测试用例。测试用例按要求标记。我希望通过传递配置文件名称,使用 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

我想知道如何编写配置文件,它将具有不同配置文件的主机名、用户主机、密码主机等参数,并在黄瓜步骤中动态使用,我已在尖括号中标记以供参考。

标签: mavencucumber

解决方案


来自Cucumber 文档:“配置文件在 Java 中不可用。”

如果要向 Maven 传递参数,可以使用Maven 配置文件

例如(来自上面的 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>

推荐阅读