2013-01-14 49 views
26

我有一个测试计划,其中有多个线程组。
我想要按顺序运行所有线程组。
线程组情况如下:在JMeter中依次运行多个线程组

Thread Group1 
Thread Group2 
Thread Group3 
. . . 
Thread GroupN 

我读过在互联网上不同的博客和文章,人们声称的线程组将在它们被定义的顺序运行,但显然他们不是在我的情况。线程组4运行在线程组1之前。线程Group4正在生成报告,因为它在线程组1之前运行,所以报告是错误的。

如何确保线程组的排序?


另外,我需要实现以下场景:

  1. 由单个用户(单用户必须创建一个HTTP请求1000个帐户)运行单个请求多个时间。

  2. 多个用户同时多次运行多个请求(多个用户应该从一个HTTP请求同时创建1000个帐户)。

该怎么办?注:请在回复前仔细阅读并理解查询内容。

+0

请为你的问题的第二部分(关于另一个场景实现)创建更好的单独票据:你在同一个问题中询问了很多不同的事情 - 看起来不太合适。 –

+0

已经完成:) –

回答

54

关于在测试计划的线程组的连续执行:简单的检查Run Test Group consecutively复选框上Test Plan configuration screen

enter image description here


  1. 使用例如Loop Controller这个:

    Thread Group 
    Number of Threads = 1 
    Loop Count = 1 
        ... 
        Loop Controller 
        Loop Count = N 
         HTTP Request 
        ... 
    

    甚至模式,而不回路控制器,但没有这么灵活:

    Thread Group 
    Number of Threads = N 
    Ramp-Up Period = 0 
    Loop Count = 1 
        ... 
        HTTP Request 
        ... 
    
    :这与Ramp-Up Period财产标准线程组的

    Thread Group 
    Number of Threads = 1 
    Loop Count = N 
        ... 
        HTTP Request 
        ... 
    
  2. 使用Number of Threads属性的放在一起

    这将启动N个同时执行相同场景的线程。

+0

您可以请建议这个解决方案 http://stackoverflow.com/questions/14353498/multiple-users-login-for-multiple-requests-jmeter –

0

关于Alies别利克答案,还有另一种方式比运行的是使用Setup Thread Group的第一部分线程组连续

关于设置斜坡上升期间,最好是设定的值> 0,

这是更现实的一个为依赖于线程

的数目来启动它可能会延迟有启动时,越多,你需要花更多的时间才能开始。

0
  1. 只需在您的测试计划中添加更多的线程组。
  2. 在测试计划properties - > tick连续运行测试组以逐步执行线程组。
4

检查运行的线程组连续(即运行组一次一个)Test Plan