使用 testng.xml 并行运行 WebDriver 测试

软件测试 网络驱动程序 测试
2022-01-12 18:40:34

我正在尝试使用 testng.xml 并行运行 WebDriver 测试。我可以通过使用参数parallel="tests"并行运行 testng 测试,但使用以下参数运行,“methods”,“classes”不起作用。

testng.xml

    <suite name="Suite1" verbose="1" parallel="methods" thread-count="5">
   <test name="Cart">
    <classes>
       <class name="com.tests1.Minus1">
       </class>       
    </classes>
   </test> 
  <test name="Checkout">
    <classes>
      <class name="com.tests2.AddA"/>
      <class name="com.tests2.AddB"/>
      <class name="com.tests2.AddC"/>
    </classes>
  </test>

  <test name="MBB">
    <classes>
      <class name="com.tests3.Mult1"/>
      <class name="com.tests3.Mult2"/>      
    </classes>
  </test>
</suite>

我尝试使用这些版本6.0.1、5.9、5.14.1、6.3.1、5.14.10、5.10.0.1、6.3、5.14.6、5.5它似乎没有用。我还将线程数增加到 100,但没有行为差异。

谁能指出我在这里缺少什么?

谢谢

3个回答

把它放在你的testorsuite标签中:preserve-order="false"

如果这不在那里,并行课程将无法工作。

我不确定我是否理解您的目标。使用您的 testng.xml,当我使用 运行时parallel='tests',标签下的每组测试按test顺序运行,但三个test标签并行运行。这对您来说是否足够并行,或者您打算同时运行所有六个测试类?如果是后者,您是否考虑过将所有六个测试类放在同一个test标​​签下?

对于每个套件,您必须指定 parallel="classes" 和线程数,然后该套件下的测试用例将并行运行

下面是工作 testng.xml。你可以试一试,因为它对我有用,它肯定会起作用。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes" thread-count="2">
<test name="Test">
<classes>
  <class name="demo.suite.GoogleTest"/>
  <class name="demo.suite.YahooTest"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->