【问题标题】:How to iterate a request dynamically for each user in JMeter如何在 JMeter 中为每个用户动态迭代请求
【发布时间】:2021-10-29 04:14:06
【问题描述】:

我需要在 JMeter 中为不同的用户多次迭代请求。每个用户的迭代次数不同。例如:我需要为第一个用户迭代请求 5 次,为第二个用户迭代 3 次,为第三个用户只迭代 1 次,依此类推。我们如何做到这一点以及如何将输入馈送到相同的位置。是否可以说在 csv 数据集配置中为第一个用户读取前 5 行,为第二个用户读取下 3 行。

【问题讨论】:

    标签: loops jmeter


    【解决方案1】:
    1. 您可以在CSV fileJMeter Properties 中为每个用户定义所需的循环次数

    2. 您可以使用 __groovy() function 从 CSV 文件中读取所需的行,例如:

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

    【讨论】:

    • stackoverflow.com/questions/69784422/… Dmitri T 你能调查一下吗?
    • 在这里,我使用了 1 个用户并使用 bean shell 预处理器,我得到了 csv 中 1 个用户的行数,并使用循环控制器根据行数进行迭代,但我需要为更多用户运行并且每个用户都有不同的迭代次数那么我如何为其他用户提供输入我需要使用多个 csv 还是在同一个我可以达到目标
    【解决方案2】:

    这是您的问题的解决方案。 JMeter 中可能还有许多其他可用的解决方案。

    您可以在(用户参数)enter link description here 预处理器中定义与用户(线程)关联的循环计数。

    此面板允许您为任何用户变量指定一系列值。对于每个线程,将按顺序为变量分配系列中的一个值。如果线程数多于值,则值将被重用。

    然后可以将请求放在Loop Controller

    用户参数组件应放置在 JSR223 采样器中,以确保在到达循环控制器之前启动这些值。此外,JSR223 Sampler 应放在Once Only Controller 内,以确保采样器只执行一次。

    在JSR223 Sampler中添加SampleResult.setIgnore(),避免采样器被记录到测试结果中。

    测试计划结构

    CSV Data Set Config更适合大量参数

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多