使用相同的用户详细信息重新启动 Jmeter 线程组

Restart Jmeter thread group with same user details

我使用的是 jmeter 5.4.1 版。我的负载测试脚本使用包含大量用户的 csv 文件。我想在每个线程上使用唯一用户,但在线程组的每次迭代中使用相同的用户,因为我想在同一用户出现某些特定情况时重新启动线程组。我尝试过的所有解决方案都是从 csv 文件中读取下一行并使用新用户而不是以前的用户登录。

我尝试过的解决方案是:

  1. Select线程组中的“每次迭代相同的用户”选项
  2. 在线程组中使用“启动下一个线程循环”选项
  3. 我在条件
  4. 之后使用了流程控制操作选项“启动下一个线程循环”
  5. 我使用了 JSR233 Sampler 并添加了以下行来启动新的线程组 SampleResult.setStartNextThreadLoop(真);

谁能帮我解决这个问题?

如果您使用的是 CSV Data Set Config - 这是不可能的,下一个值将在下一次迭代中使用,并且无法将其“重置”到特定位置,只能在它所在的位置继续停止或从头开始。

考虑读取用户名的替代选项,即:

  • CSVRead() function 仅当您显式调用 ${__CSVRead(your-file.csv,next)}

    时才会进入下一行
  • __groovy() function 您可以完全控制要读取的行,例如:

    • ${__groovy(new File('test.csv').readLines().get(0),)} - 阅读第一行
    • ${__groovy(new File('test.csv').readLines().get(1),)} - 读取第二行
    • 等等