2013-10-06 99 views
3

我有4個@Test方法,並希望每個人運行3次。我想在12個線程中同時執行這一切。TestNG並行執行

我創建這樣

<suite name="Suite1" verbose="1" parallel="methods" thread-count="100"> 

    <test name="Test1"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test2"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test3"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

</suite> 

一個的testng.xml文件如果設置了平行=「方法」 TestNG的執行4個線程測試1 4種的測試方法,其確實後的Test2相同,然後TEST3。但是我不想在運行Test2之前等待Test1完成。 TestNG可以同時運行Test1,Test2 & Test3(如果parallel =「tests」),但是在這種情況下,它會爲每個Test依次執行4個測試方法。

有沒有辦法告訴TestNG不要等待,並開始在單獨的線程中的所有測試的所有方法?

回答

1

讓套件運行並行測試,然後每個測試都可以運行並行方法。例如:

<suite name="Suite1" verbose="1" parallel="tests" thread-count="10"> 

    <test name="Test1" parallel="methods" thread-count="4"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test2" parallel="methods" thread-count="4"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test3" parallel="methods" thread-count="4"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

</suite> 
+0

你能用註釋配置顯示相同的例子嗎? – sh977218

0

如果這些測試是相同的,那麼您可以使用invocationCount和threadpoolsize。在@Test註解中添加invocationCount = 3和threadPoolsize爲3.在testng.xml中,只創建一個測試(而不是3),設置parallel = methods和thread-count = 4。

希望它有幫助。

0

嘗試使用這樣的:

<suite name="suite" parallel="methods" thread-count="20"> 

希望這有助於。