与不同的设置数据并行运行测试套件

时间:2019-08-02 15:16:10

标签: java eclipse maven parallel-processing testng-eclipse

我正在一个Maven项目中开发移动测试自动化,我想并行运行两个测试套件。因此,使用从.xml文件运行测试的TestNG,看起来像这样:

<suite name="Parallel Test" parallel="tests" thread-count="2">
    <test name="TestsAndroid 7">
        <parameter name="platform" value="Android 7.0" />
        <parameter name="deviceName" value="emulator-5554"/>
        <parameter name="port" value="4731"/>
        <classes>
            <class name="Runner.Test1" />
        </classes>
    </test>
    <test name="TestsAndroid 8">
        <parameter name="platform" value="Android 8" />
        <parameter name="deviceName" value="emulator-5556"/>
        <parameter name="port" value="4733"/>
        <classes>
            <class name="Runner.Test2" />
        </classes>
    </test>
</suite>

每个运行程序 Test1 Test2 都有一个@BeforeClass,用于在其中创建设置数据,专门针对每个测试套件:

 @BeforeClass(alwaysRun = true)
 @Parameters({"platform", "deviceName", "port"})
  public void setUpClass(@Optional("") String platform, String deviceName, String port) throws Exception {
      setupData = new CreateSetupData("Test1");
  }

这就是我的问题所在。 CreateSetupData()方法创建所需的数据并设置变量值,以便在进一步的测试步骤中使用。

private void CreateSetupData() {
    // Create user
    String userName = createUser();
    setupData.setUserName(userName);
}

位置:

public static void setUserName(String aUser) {
    userName = aUser;
  }

开始创建数据以运行 Test2 时,将覆盖为 Test1 创建的 user password 值。

我正在使用Eclipse IDE,是否可以为每个 thread-count 创建和设置具有相同变量名但具有不同值的数据?

0 个答案:

没有答案