运行 在 Selenium 网格上并行执行

Run Parallel Execution on Selenum Grid

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="classes" thread-count="2">
  <test thread-count="1" name="Transactoin">
  <parameter name="remoteurl" value="http://xx.xx.xxx.xxx:5555/wd/hub"></parameter>
    <classes>
      <class name="POM_Test.ATransactionTest"/>
     </classes>
  </test> <!-- Test -->
  <test thread-count="1" name="MyAlerts">
  <parameter name="remoteurl" value="http://xx.xx.xx.xxx:5556/wd/hub"></parameter>
    <classes>
      <class name="POM_Test.MyAlertsTest"/>
    </classes>
  </test> 
</suite> <!-- Suite -->

ATransactionTest Class47 个测试用例 MyAlertsTest Class40 个测试用例。

我想 run both classes simulatneously 并且 MyAlertsTest 应该采用参数中给出的 remoteurl,ATransaction 测试应该采用给定参数的 remoteurl。

但是发生的事情是,ATransactionTest 运行 在 Node1 中首先完成所有测试用例 MyAlerts 运行 在 Node2 中.如何运行模拟。

谢谢

根据我对文档的理解,TestNG 将遵守您 xml 文件中测试的顺序。

现在,您想 运行 两个 类 并行,所以您设置 parallel="classes" 是正确的。但是,您的测试仍将 运行 在单个线程上进行,这意味着如果您的测试组中有 多个 类,那么它将 运行 它们并行进行,但所有测试将 运行 依次进行。

要解决此问题,您可以在同一测试组下添加多个 类:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="classes" thread-count="2">
  <test thread-count="2" name="Transactoin">
  <parameter name="parameterName" value="parameterValue"></parameter>
    <classes>
      <class name="Class1"/>
      <class name="Class2"/>
     </classes>
  </test>
</suite> <!-- Suite -->

或者如您的情况一样,您可以将并行选项设置为测试:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="tests" thread-count="2">
  <test thread-count="1" name="Transactoin">
  <parameter name="remoteurl" value="http://xx.xx.xxx.xxx:5555/wd/hub"></parameter>
    <classes>
      <class name="POM_Test.ATransactionTest"/>
     </classes>
  </test> <!-- Test -->
  <test thread-count="1" name="MyAlerts">
  <parameter name="remoteurl" value="http://xx.xx.xx.xxx:5556/wd/hub"></parameter>
    <classes>
      <class name="POM_Test.MyAlertsTest"/>
    </classes>
  </test> 
</suite> <!-- Suite -->

希望这能解决您的问题。