Jmeter: 逻辑控制器
一 前言:
环境: window 10, Jmeter 5.3
二 逻辑控制器
1 循环控制器
1.1 例子
如上,在循环控制器下的接口循环执行了3次,未在循环控制器下的接口只执行了一次
2 if 条件控制器
条件判断为True才会执行其子节点
控制器上已经提醒了,为了性能考虑建议勾选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 例子
执行结果
3 仅一次控制器
对于其控制器下的子节点,告诉Jmeter每个线程只执行一次。可用于一些登录场景
如果将它放在循环控制器下,则无论循环次数多少,仅一次控制器下的节点只会执行第一次循环
线程组下有loop count(循环次数)和users(线程数)的设置
对于 loop count:无论设置多少,仅一次控制器依然起作用
users: 仅一次控制器是对每一个线程而言, 如果users为n 则仅一次控制器一般而言也会执行n次
3.1 例子
上面的例子稍微改造下
查看结果树
例2 官方的例子稍微改动下
执行
4 随机控制器
每次执行时,会在子节点中随机选择一个执行
4.1 示例
如上 执行了2次,2此中随机控制器下的接口执行都是随机的
随机顺序控制器
该控制器下的每个节点的执行顺序在执行时是随机的
分类:
Jmeter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南