【发布时间】:2021-10-29 04:14:06
【问题描述】:
我需要在 JMeter 中为不同的用户多次迭代请求。每个用户的迭代次数不同。例如:我需要为第一个用户迭代请求 5 次,为第二个用户迭代 3 次,为第三个用户只迭代 1 次,依此类推。我们如何做到这一点以及如何将输入馈送到相同的位置。是否可以说在 csv 数据集配置中为第一个用户读取前 5 行,为第二个用户读取下 3 行。
【问题讨论】:
我需要在 JMeter 中为不同的用户多次迭代请求。每个用户的迭代次数不同。例如:我需要为第一个用户迭代请求 5 次,为第二个用户迭代 3 次,为第三个用户只迭代 1 次,依此类推。我们如何做到这一点以及如何将输入馈送到相同的位置。是否可以说在 csv 数据集配置中为第一个用户读取前 5 行,为第二个用户读取下 3 行。
【问题讨论】:
您可以在CSV file 或JMeter Properties 中为每个用户定义所需的循环次数
您可以使用 __groovy() function 从 CSV 文件中读取所需的行,例如:
${__groovy(new File('test.csv').readLines().get(0),)} - 阅读第一行${__groovy(new File('test.csv').readLines().get(1),)} - 阅读第二行【讨论】:
这是您的问题的解决方案。 JMeter 中可能还有许多其他可用的解决方案。
您可以在(用户参数)enter link description here 预处理器中定义与用户(线程)关联的循环计数。
此面板允许您为任何用户变量指定一系列值。对于每个线程,将按顺序为变量分配系列中的一个值。如果线程数多于值,则值将被重用。
然后可以将请求放在Loop Controller中
用户参数组件应放置在 JSR223 采样器中,以确保在到达循环控制器之前启动这些值。此外,JSR223 Sampler 应放在Once Only Controller 内,以确保采样器只执行一次。
在JSR223 Sampler中添加SampleResult.setIgnore(),避免采样器被记录到测试结果中。
测试计划结构
CSV Data Set Config更适合大量参数
【讨论】: