(五)Jmeter中IF逻辑控制器

1. 在线程组下,执行:添加 ---->> 逻辑控制器 ---->> 如果(If)控制器:

2. 对if控制器进行变量设置:

参数:

(1)若不勾选上面任何一个选项,则表示使用变量的方式进行判断,经尝试后发现 "${变量}"=="变量值"这种格式可以正常使用。

(2)Interpret Condition as Variable Expression?:选中这一项时表示:判断变量值是否等于字符串true(不区分大小写)

在if逻辑控制器的Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3和__groovy函数:

If逻辑控制器控件中最重要就是Expression(must evaluate true or false)输入框,此处需要写入需要进行判断的表达式,从must evaluate true or false可知,实际使用时,只能填入true或者false这样的值,因此我们需要借助其他模块或者函数将需要进行判断的表达式(如 ${var}== 5)转换成true或false,判断才能生效,直接将${var}== 5这样的表达式写入Expression中是无效的。

从该控制器提示的信息中,可以借助__jexl3或者__groovy函数来计算表达式的值,这样着重介绍下__jexl3在 if控制器中的使用。

jexl全称:Jakarta Commons Jexl,是一种表达式语言(Java Expression Language)解释器。

JEXL Expression to evaluate:此处直接填写需要进行判断的表达式即可

表达式支持:

== 是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1

!=不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1

!  非,如${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反

&&或||且与或,如${__jexl3(${VAR}==1 && ${name} !="heima",)}

> 或者>==   大于等于,如${__jexl3(${count}>=10,)}

(3)Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

你可能感兴趣的:((五)Jmeter中IF逻辑控制器)