首页 > 解决方案 > 如何在循环中连续运行两个线程组

问题描述

有没有办法ThreadGroup在一定时间内连续运行两个循环?我正在编写一个测试场景,其中我必须为多个用户创建一个任务,然后由他们完成这个任务。因此,我决定将场景分成两个线程组,因为它需要一个用户创建一个任务,并且需要多个用户来完成它。一切正常,但是当我尝试在几次迭代中运行测试时,问题就出现了。

我试图检查Run Test Group consecutively复选框,但测试而不是交替执行,例如

ThreadGroup 1
ThreadGroup 2
ThreadGroup 1
ThreadGroup 2

执行如下

ThreadGroup 1
ThreadGroup 1
ThreadGroup 2
ThreadGroup 2

是否有可能以某种方式使线程组交替执行?我将非常感谢任何建议。

标签: jmeter

解决方案


如果要运行多次迭代,则需要让线程组 2 知道任务已准备好,并让线程组 1 知道任务已完成并且可以生成新任务。

在线程组之间传递数据有两种方法:

  1. __setProperty()函数用于创建/更新一个线程组中的值,__P() 函数用于读取另一个线程组中的值
  2. 线程间通信插件,参考实现见SynchronizationExample.jmx

推荐阅读