功能
通过条件来控制子元件是否运行
字段
Name:名称
Comments:注释
Expression:表达式输入框(必填)
${va}
${__groovy(vars.get("myMissiong")}
不要在字符串中直接使用变量替换,
使用无法更改脚本的变量,就无法缓存
使用vars.get("myVar")
${__jex13(${COUNT};10)}
值必须是true或者false
use status of last sample:最后一个元件的状态,点击后会自动输入框中生成
Interpret Condition as Variable Expression
不勾选(不建议使用)
if控制器内部使用javascript来计算条件,会有很大性能损失,并降低测试的可伸缩性
勾选
不能直接填写判断条件的表达式,需要用__jexl3函数或__groovy函数条件表达式求值计算为true或false
Evaluate for all Children:默认不选中,
判定条件是否针对所有子节点
勾选
子节点每次取样器之前执行一次
根据表达式结果判断是否执行该取样器
不勾选
只在ifcontroller执行一次表达式
根据结果判断是否执行下面的脚本
函数助手
jexl3
groovy
常用表达式
${JMeterT ead.last_sample_ok}
判断上一个请求是否成功
${__groovy(${__property(sucesscode,,)}==200,)}
判断条件
== :等于
如 1==1 或 ${__jexl3(1==1,)}
> 、< 大于 小于
如 2>1,1<2,或 ${__jexl3(2>1,)}
>=、<= 大于等于 小于等于
如 2>=1 ,或 ${__jexl3(2>=1,)}
!=、!不等于,非
如 "y"!="n",非 则取 != 的反值
|| 或,&& 和 多条件可用
如:2<5 && 2>1,${__jexl3(2<5 && 2>1,)}
字符串必须要用引号,变量都认为时字符串的形式