2013-12-19 52 views
1

我运行TestNG的多线程模式@dataProvider(NAME =“嗒嗒”,并行= TRUE)油门TestNG的

我的测试调用生产服务,我想限制每个请求的数量第二。有没有一种方法来遏制testng?

回答

2

如果你不介意的进口芭乐或者,如果你已经在使用它,你可以简单地介绍a RateLimiter上解释这个文件。换句话说,in your test,而不是:

@Test public void test() { runYourTest(); } 

你这样做:

//10 tests per second, for example: 
private static final RateLimiter rateLimiter = RateLimiter.create(10.0); 

@Test(dataProvider="blah") 
public void test() { rateLimiter.acquire(); runYourTest(); } 
+0

我不知道这一点。这正是我想要的:谢谢! – CrazyDoggg

0

我会说扼杀线程的测试数量。
http://testng.org/doc/documentation-main.html#parallel-running
参见如何做到这一点无论是在XML和@annotation

+0

你能更具体吗?我没有在文档中看到任何提及的限制。 – assylias

+0

假设注释:@Test(threadPoolSize = 3) – user2318564

+0

它定义了线程的数量 - 但它并不限制运行测试的频率。因此,这不会将测试限制为每秒5次,例如... – assylias

0

大多数人使用Browsermob Proxy要做到这一点,使用PUT /proxy/[port]/limit API命令,但解决方案@assylias建议小艾也真棒。