在实际工做中,当使用Jmeter作性能脚本或者接口脚本时,有可能会遇到须要对不一样的条件作不一样的操做,基于这种诉求,在Jmeter中可以使用if控制器来实现函数
逻辑控制器位置:性能
在线程组下,执行:添加 ---->> 逻辑控制器 ---->> 若是(If)控制器lua
if逻辑控制器控件中最重要就是Expression(must evaluate true or false)输入框,此处须要写入须要进行判断的表达式,从must evaluate true or false可知,实际使用时,只能填入true或者false这样的值,所以咱们须要借助其余模块或者函数将须要进行判断的表达式(如 ${var}== 5)转换成true或false,判断才能生效,直接将${var}== 5这样的表达式写入Expression中是无效的。spa
从该控制器提示的信息中,能够借助__jexl3或者__groovy函数来计算表达式的值,这样着重介绍下__jexl3在 if控制器中的使用。线程
jexl全称:Jakarta Commons Jexl,是一种表达式语言(Java Expression Language)解释器。blog
JEXL Expression to evaluate:此处直接填写须要进行判断的表达式便可接口
表达式支持:io
== 是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1变量
!= 不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1im
! 非,如${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反
&&或|| 且与或,如 ${__jexl3(${VAR}==1 && ${name} != "heima",)}
> 或者>== 大于等于,如${__jexl3(${count}>=10,)}
在if逻辑控制器的Expression中不能直接填写条件表达式,须要借助函数将条件表达式计算为true/false,能够借助的函数有__jexl3和__groovy函数