jmeter压测学习46-逻辑控制器之While控制器
前言
循环控制器可以设定永远循环和循环次数,缺少条件判断。While控制器可以在循环的基础上加判断,当条件为false的时候跳出循环。
While控制器
线程组-添加-逻辑控制器-While控制器
Condition (function or variable) 可以是条件(函数或变量)。条件为 Flase 的时候,才会跳出 While 循环,否则一直执行 While 控制器下的样例
- 表达式为空 一直执行
- 表达式为true 一直执行
- 表达式为false 则跳出循环
- 表达式结果不是true或false 就一直执行,所有需要用
__jexl3()
函数转成true或false
Condition 条件
1.如果Condition 条件为空,当 While 控制器下最后一个样例执行失败后,跳出循环
在While控制器添加一个HTTP请求
那么会一直请求,除非这个请求报错(最后一个样例执行失败)才会停止
在While控制器添加多个HTTP请求,只有最后一个请求报错才会停止(注意是最后一个)
While控制器有请求A, 请求B,请求C,当请求B和A报错都不会停止,当最后一个请求C报错就停止了
- 如果Condition 条件输入LAST ,功能是 While 控制器 前一个样例执行失败,则不会进入While循环,也就是不会执行While控制器下的样例。
当我们在While控制器 前面添加一个请求,如果这个请求是成功的,那么进入wihle循环,跟上面Condition 条件为空是一样的(最后一个报错退出循环)
如果 While 控制器前一个样例执行失败,则不会进入While循环,接下来故意让前面的请求失败
Condition 为true或false
1.当表达式为true, 会一直执行,不管最后一个是不是失败都会一直循环
2.当表达式为false, 不执行 While 控制器
3.也可以借助函数助手,生成__jexl3()
或__groovy()
函数转成true或false,参考前面如果(If)控制器
4.不用函数,直接用变量也可以:"${user}"=="admin"
Condition 表达式结果不是true或false
如果Condition 表达式结果不是true或false,就一直执行,比如我这里引用变量${user}, 它的结果是"admin"
表达式结果不是true或false,就一直执行, 直到结果为false就退出循环。
总结:记住两点:1、进入while循环的条件,是前一个取样器执行成功;2、while循环停止,是false或者最后一个取样器报错才会停止。
转载:https://www.cnblogs.com/yoyoketang/p/14282669.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类