JMeter 逻辑控制器
概念
逻辑控制器: 可以按照设定的逻辑控制取样器的执行顺序
思考:
线程组属性可以控制循环次数,那么循环控制器有什么用?
控制的作用域不同:
线程组: 控制线程组下的所有请求
循环控制器: 控制其子节点的所有接口请求
如果线程组循环次数为M,循环控制器循环次数为N:
循环控制器下的HTTP请求运行次数: M * N 次
线程组下的其他HTTP请求运行次数: M次
案例: 登录接口-密码错误逻辑据校验
密码错误逻辑: 当输入密码错误3次之后,账户锁定,不能再登录, 60S后才能再次登录
IF 控制器
位置:线程组 -> 添加 -> 逻辑控制器 -> IF 控制器
如下需求:通过定义的全局变量address 和IF 控制器 来控制两个HTTP请求该执行哪一个
IF 逻辑控制器有如下两种比较方式:
方式1: JS语法比较
方式2:采用jex函数比较(推荐)
注意:HTTP请求是放在IF 控制器下面
循环控制器
位置:线程组 -> 逻辑控制器 -> 循环控制器
以下是访问baidu 5 次的案例,需要注意层级关系
当线程组的循环次数(m)和循环控制器的循环次数一起配置(n)时,最终的请求次数为 m * n
ForEach 控制器
位置:线程组 -> 添加 -> 逻辑控制器 -> ForEach控制器
与用户定义的变量和正则表达式配合一起使用,循环读取用户定义的变量
用户定义的变量需要用:固定前缀_数字 或者 固定前缀+数字的格式,方便在foreach循环中使用
ForEach 面板:
参数介绍:
- 输入变量前缀: 要读取的输入变量的固定前缀
- 开始循环字段: 要读取的输入变量后缀数字的最小值-1
- 结束循环字段: 要读取的输入变量后缀数字的最大值
- 输出变量名称: 读取输入变量的值后保存的新变量名,用于后续HTTP请求来引用
上送请求取到了key的值:
结束循环字段如何动态获取?
通过debug sample 查看jmeter 内存:
可以通过${address_matchNr} 来获取, address 为foreach面板的输入变量前缀
事务控制器
应用场景: 业务流程的性能测试
面板:
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/15747073.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!