jmeter-逻辑控制器之如果(If)控制器

引言
当遇到需要对不同的条件做不同的操作时,我们可以使用 JMeter 中 if 控制器来实现。

一、如果(If)控制器

线程组-添加-逻辑控制器-如果(If)控制器
jmeter-逻辑控制器之如果(If)控制器

  • Expression(must evaluate to true or false) 表达式必须为true或false
  • interpret condition as variable expression 勾选表达式为true
    执行,为false不执行。不勾选表达式正确,执行,表达式不正确,不执行
  • evaluate for all children 如果选中这一项,在每个子结点执行前都会计算表达式

二、Expression 为true或false

勾选 interpret condition as variable expression ,表达式可以直接输入true,请求登录A会执行,输入false,请求登录B不会执行
登录接口A
jmeter-逻辑控制器之如果(If)控制器
登录接口B
jmeter-逻辑控制器之如果(If)控制器
查看结果树
仅登录接口A执行
jmeter-逻辑控制器之如果(If)控制器

三、jexl3 或groovy 函数

勾选 interpret condition as variable expression ,表达式可以通过__jexl3或__groovy 函数转成 true 或 false 结果
__jexl3和__groovy 函数的区别:
例如要写词函数:${nmobile}==“18257008001” 调用取样器
__jexl3函数的写法:

${__jexl3(${nmobile}==“18257008001”,)}

和 ${__jexl3("${nmobile}"==“18257008001”,)} 都是可以的
使用__groovy 函数必须用:

${__groovy ("${nmobile}"==“18257008001”,)} 这一种写法

有如下场景:有11个账号登录,当账号手机号为${nmobile}==“18257008001” 调用取样器
jmeter-逻辑控制器之如果(If)控制器
查看结果树:
jmeter-逻辑控制器之如果(If)控制器
如果不使用函数,就不会出结果
jmeter-逻辑控制器之如果(If)控制器
查看结果树:
发现没有调用:调试取样器
jmeter-逻辑控制器之如果(If)控制器

四、判断语句

如果不勾选 interpret condition as variable expression ,可以直接使用判断语句,只要判断语句为ture就执行,不需要用’__jexl3 ‘或’__groovy’ 函数,
jmeter-逻辑控制器之如果(If)控制器
但这样会有黄色的警告,一般不推荐
查看结果树:判断语句为true执行调试取样器
jmeter-逻辑控制器之如果(If)控制器

上一篇:使用idea的groovy脚本自动创建Jpa的实体


下一篇:spring-cloud-zuul 使用groovy脚本实现filter的热刷新