1

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

我尝试过的解决方案是:

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

谁能帮我解决这个问题?

4

1 回答 1

1

如果您使用CSV 数据集配置- 这是不可能的,下一个值将在下一次迭代中采用,并且无法将其“重置”到特定位置,只能从中断处继续或从开始。

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

  • CSVRead() 函数,仅当您显式调用时才会进入下一行${__CSVRead(your-file.csv,next)}

  • __groovy() 函数,您可以完全控制读取哪一行,例如:

    • ${__groovy(new File('test.csv').readLines().get(0),)}- 阅读第一行
    • ${__groovy(new File('test.csv').readLines().get(1),)}- 阅读第二行
    • 等等
于 2021-05-21T12:07:19.297 回答