59

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

Thread Group1
Thread Group2
Thread Group3
. . .
Thread GroupN

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

如何确保我的线程组的顺序?


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

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

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

怎么做?

PS:请在回复前仔细阅读并理解问题。

4

6 回答 6

112

关于测试计划中线程组的连续执行:测试计划配置屏幕Run Test Group consecutively上的简单复选框:

在此处输入图像描述


  1. 为此使用例如循环控制器

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

    甚至没有循环控制器但不那么灵活的模式:

    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 个同时执行相同场景的线程。

于 2013-01-14T16:30:49.653 回答
9

检查Run Thread Groups consecutively (i.e. run groups one at a time)中的Test Plan.

于 2016-08-10T05:14:57.847 回答
3
  1. 只需在您的测试计划中添加更多线程组。
  2. 在测试计划属性中 -> 勾选 Run Test Group Continuously 以逐步执行线程组。
于 2015-01-06T09:20:36.827 回答
2

这是我找到的按特定顺序运行多个线程组的简单解决方案:

  1. 选中“测试计划”下的“连续运行线程组”选项
  2. 使用拖放方法按照要执行的顺序对“线程组”进行排序
于 2020-08-17T14:49:56.477 回答
2

参考这个链接。这要求您选中主测试计划中的复选框

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

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

于 2021-08-02T07:09:06.713 回答
1

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

这是第一部分使用设置线程组

关于设置ramp-up period,最好设置一个> 0的值,

哪个更现实,因为取决于线程数

启动它可能会延迟启动,您拥有的越多,启动所需的时间就越多。

于 2013-01-14T21:34:02.460 回答