2017-10-14 145 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 - 如果有帮助,请接受我的回答 –