在JMeter中按顺序运行多个线程组

时间:2013-01-14 15:43:36

标签: testing jmeter load-testing stress-testing

我有一个测试计划,其中有多个线程组 我想按顺序运行所有线程组 线程组如下:

Thread Group1
Thread Group2
Thread Group3
. . .
Thread GroupN

我在互联网上阅读了不同的博客和文章,人们声称线程组将按照定义的顺序运行,但显然它们不属于我的情况。线程组4在线程组1之前运行。线程Group4正在生成一个错误的报告,因为它在Thread Group1之前运行。

如何确保线程组的排序?


另外,我需要实现以下方案:

  1. 单个用户多次运行单个请求(单个用户应该从单个HTTP请求创建1000个帐户)。

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

  3. 怎么做?

    PS:请在回复之前仔细阅读并理解查询。

6 个答案:

答案 0 :(得分:74)

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

enter image description here


  1. 使用例如Loop Controller为此:

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

    甚至没有Loop Controller的架构,但不那么灵活:

    Thread Group
    Number of Threads = 1
    Loop Count = N
      ...
      HTTP Request
      ...
    
  2. 使用标准线程组的Number of Threads属性以及Ramp-Up Period属性:

    Thread Group
    Number of Threads = N
    Ramp-Up Period = 0
    Loop Count = 1
      ...
      HTTP Request
      ...
    

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

答案 1 :(得分:6)

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

答案 2 :(得分:1)

关于Alies Belik的答案,除了连续运行线程组之外还有另一种方法

第一部分使用Setup Thread Group

关于设置加速期,最好设置值> 0,

根据线程数

更为现实

开始它可能会延迟启动,你拥有的越多,启动时间就越多。

答案 3 :(得分:1)

  1. 只需在测试计划中添加更多线程组。
  2. 在测试计划中属性 - >连续勾选运行测试组以逐步执行线程组。

答案 4 :(得分:1)

这是我发现的以特定顺序运行多个线程组的简单解决方案:

  1. 选中“测试计划”下的“连续运行线程组”选项。
  2. 按照要使用拖放方法执行的顺序订购“线程组”

答案 5 :(得分:0)

请参阅此链接。这会要求您选中主测试计划中的复选框

Run Thread Groups consecutively (i.e. one at a time)

http://www.mahsumakbas.net/run-jmeter-thread-groups-consecutively/