【发布时间】:2020-05-31 15:17:51
【问题描述】:
我在单线程中有 5 个 HTTP 请求,我想多次运行第一个请求,然后只运行一次其他请求
我不能使用多线程,因为所有请求都是相互依赖的。
【问题讨论】:
标签: jmeter performance-testing jmeter-5.0
我在单线程中有 5 个 HTTP 请求,我想多次运行第一个请求,然后只运行一次其他请求
我不能使用多线程,因为所有请求都是相互依赖的。
【问题讨论】:
标签: jmeter performance-testing jmeter-5.0
将第一个请求放在Loop Controller 下,将循环计数作为您想要重复的次数
除了您为线程组指定的循环值之外,JMeter 还将循环它们一定次数。例如,如果向 Loop Controller 添加一个 HTTP 请求,循环计数为 2,并将 Thread Group 循环计数配置为 3,则 JMeter 将发送总共 2 * 3 = 6 个 HTTP 请求。
选择要多次执行的请求,然后:
右键 -> 插入父级 -> 逻辑控制器 -> 循环控制器
【讨论】:
取决于你想要达到的目标:
将只需要运行一次的请求放在Once Only Controller下,这样Sampler只会在线程组第一次迭代时执行
如果您想要更复杂/灵活的标准 - 将只需要执行一次的请求放在If Controller 下,这样您就可以指定您想要的任何标准。例如,如果您只想在第 5 次迭代期间运行采样器,请使用以下条件:
${__jexl3("${__jm__Thread Group__idx}" == "5",)}
这样,只有在满足条件时才会执行位于 If 控制器下的采样器:
【讨论】: