参考官方手册:http://testng.org/doc/documentation-main.html#parallel-suites
1、多个testng.xml文件并行执行,可以通过启动脚本指定
java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml
2、同一个testng.xml文件中,指定并行级别:methods、tests、classes、instances
如:<suite name="My suite" parallel="methods" thread-count="5">
methods级别:在不同的线程中运行所有的测试方法
tests级别:同一个<test>下的方法在同一个线程中运行,不同<test>之间并行执行
classes级别:同一个类中运行所有的方法在同一个线程中运行,不同的类将在不同的线程中运行
instances级别:TestNG将在同一个线程中运行同一实例中的所有方法,但两个不同实例上的两个方法将运行在不同的线程中。
3、不同dataprovider的并发
在@DataProvider中添加parallel=true
从XML文件运行的并行数据提供程序共享相同的线程池,默认情况下它的大小为10。可以在XML文件的<suite>标记中修改此值:
<suite name="XXX" parallel="instances" thread-count="10" data-provider-thread-count="20">
说明:(1)我们项目中用了第2,3步执行并发测试。当然代码也要支持,多关注静态变量的使用,防止数据错乱。
(2)设置完后,从日志可以很明显的看到有多个线程在同时执行。
网友评论