參考官方手冊:http://testng.org/doc/documentation-main.html#parallel-suites
1、多個testng.xml文件并行執(zhí)行,可以通過啟動腳本指定
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>之間并行執(zhí)行
classes級別:同一個類中運行所有的方法在同一個線程中運行宁脊,不同的類將在不同的線程中運行
instances級別:TestNG將在同一個線程中運行同一實例中的所有方法断国,但兩個不同實例上的兩個方法將運行在不同的線程中。
3榆苞、不同dataprovider的并發(fā)
在@DataProvider中添加parallel=true
從XML文件運行的并行數據提供程序共享相同的線程池稳衬,默認情況下它的大小為10∽可以在XML文件的<suite>標記中修改此值:
<suite name="XXX" parallel="instances" thread-count="10" data-provider-thread-count="20">
說明:(1)我們項目中用了第2,3步執(zhí)行并發(fā)測試薄疚。當然代碼也要支持,多關注靜態(tài)變量的使用仙畦,防止數據錯亂输涕。
(2)設置完后音婶,從日志可以很明顯的看到有多個線程在同時執(zhí)行慨畸。