Jmeter: 逻辑控制器

一 前言:

环境: window 10, Jmeter 5.3

二 逻辑控制器

1 循环控制器

image

1.1 例子

image

如上,在循环控制器下的接口循环执行了3次,未在循环控制器下的接口只执行了一次

2 if 条件控制器

条件判断为True才会执行其子节点
image

控制器上已经提醒了,为了性能考虑建议勾选Interpret Condition as Variable Expression,并建议使用${__jexl3(xxx)}的表达式来得到一个True/False的结果,或使用一个结果True/False的的变量 如

${__jexl3(${VAR} == xxx)}
${__jexl3("${num}" != "\${num}")}  #变量是否已定义且不为null
${__jexl3("${num}" == "\${num}")}  #变量是否未定义或为null
${__jexl3(${VAR} == xxx && ${var2} < 9 )}
${JMeterThread.last_sample_ok}  # 根据上一个节点是否执行成功来判断是否执行if下的节点

关于Evaluate for all children:默认它是不勾选的,表示只会在刚开始时判断一次。如果勾选了,则会在每个子节点执行前都进行判断,比如判断条件在第一个子节点执行后会发生改变,则后面的子节点执行与否也会变化

2.1 例子

image
image
执行结果
image

3 仅一次控制器

对于其控制器下的子节点,告诉Jmeter每个线程只执行一次。可用于一些登录场景

如果将它放在循环控制器下,则无论循环次数多少,仅一次控制器下的节点只会执行第一次循环

线程组下有loop count(循环次数)和users(线程数)的设置
对于 loop count:无论设置多少,仅一次控制器依然起作用
users: 仅一次控制器是对每一个线程而言, 如果users为n 则仅一次控制器一般而言也会执行n次

3.1 例子

上面的例子稍微改造下
image
image

查看结果树
image

例2 官方的例子稍微改动下
image
image
image
image
执行
image

4 随机控制器

每次执行时,会在子节点中随机选择一个执行

4.1 示例

image
如上 执行了2次,2此中随机控制器下的接口执行都是随机的

随机顺序控制器

该控制器下的每个节点的执行顺序在执行时是随机的

posted @   工作手记  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示