性能测试-工具篇:jmeter - If Controller / Once Only Controller
·
if Controller(如果控制器),可以通过条件来控制此控制器下的元件是否运行,

Name:名称Comments:注释Expression(must evaluate to true or false):表达式输入框use status of last sample:最后一个元件的状态,点击后会自动在输入框中生成Interpret Condition as Variable Expression:默认选中(使用变量表达式)
支持三种表达式,例如:
- 首先是直接引用变量
${var}- 其次是使用
groovy生成的表达式(能提高性能){__groovy(vars.get("myMissing") != null )}- 最后是
jexl3生成的表达式${__jexl3(${COUNT} < 10)}
Evaluate for all children:默认不选中(判定条件是否针对所有子节点)

如果取消选中将条件解释为变量表达式,控制器将在内部使用 javascript 来进行条件判断,但是会影响非常大的性能损失。也是官方不推荐的,在这里了解即可,想深入的可百度一下查阅资料。
注意点: 使用__groovy时注意不要在字符串中直接使用变量替换,如果使用无法更改脚本的变量,就无法缓存。使用以下推荐方法获取变量:vars.get("myVar")。
至于如何生成表达式,jmeter中的函数助手中提供了两个函数,专门用来生成表达式的:


Once Only Controller(仅一次控制器) 告诉 JMeter 此控制器下的元件只执行一次,常用场景就是登录操作,执行一次即可
Name:名称Comments:注释
例如:登录一个用户,然后访问用户列表,如果登录成功且获取token成功,则请求用户列表

今天先聊到这里吧,以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的一键 3 连【 点赞、收藏、分享 】哟,谢谢!
未完成,待续……
一直在努力,希望你也是!
微信搜索公众号:就用python
更多推荐
所有评论(0)