2017-10-14 142 views
-1

一起傳遞我們知道,TestNG中,我們可以有一個方法運行parallay由多個線程調用參數TestNG的負載測試,與invocationCount和threadPoolSize

@Test(invocationCount=5,threadPoolSize=5) 
public void testMethod() 
{ 
///code to generate load 
} 

現在,我們希望做同樣的事情,但與5爲parlall中的每個線程調用設置pf參數。

+0

是'**'代碼的一部分還是你想要加粗代碼?如果你想大膽的話,沒有必要。 – SteveFest

+0

請參閱:[我如何做X?](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-for-how-do-i-do- x)對SO的期望是,用戶提出問題不僅僅是研究來回答他們自己的問題,而且還分享研究,代碼嘗試和結果。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另請參見:[問] – JeffC

回答

0

您需要在TestNG中使用數據提供程序來執行此操作。

下面是一個示例,演示此

//This method will provide data to any test method that declares that its Data Provider 
//is named "test1" 
@DataProvider(name = "test1") 
public Object[][] createData1() { 
return new Object[][] { 
    { "Cedric", new Integer(36) }, 
    { "Anne", new Integer(37)}, 
}; 
} 

//This test method declares that its data should be supplied by the Data Provider 
//named "test1" 
@Test(dataProvider = "test1") 
public void verifyData1(String n1, Integer n2) { 
System.out.println(n1 + " " + n2); 
} 

現在,爲了使並行執行,請確保它的價值添加屬性data-provider-thread-count,並設置爲需要的值。此屬性的默認值爲10.此屬性允許您控制TestNG中數據提供程序的線程池大小。

對於例如,

<suite name="Unit-test-suite" verbose="2" data-provider-thread-count="15"> 

看看從here它的官方文檔。

+0

謝謝Ton Krish ..!..但是,這兩個參數@Test(invocationCount = 5,threadPoolSize = 5)有什麼呢? – Tango

+0

他們只是告訴TestNG運行相同的測試方法n次,並告訴TestNG線程池的大小。在這種情況下沒有參數化。 –

+0

@Tango - 如果有幫助,請接受我的回答 –