Jmeter系列(27)- 常用逻辑控制器(6) | 如果(if)控制器If Controller

如果(if)控制器(If Controller)

  • 在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现
  • if控制器含义:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串 都需要加引号
If Controller页面参数说明
Comments
  • 注释
Expression(must evaluate to true or false)
  • 判断条件是否成立,返回true或false
Interpret Condition as Varible Expression
  • 勾选interpret condition as variable expression 只能判断表达式结果为true和false。要用Jmeter内置函数_jexl3或者_groovy 转换成true或者false
  • 不勾选,则使用普通条件表达式判断。条件表达式结果可以是true/false之外的表达式。例如:${num} == 1
Evaluate for all childern
  • 勾选:表达式会在ifcontroller节点下的每个取样器之前执行一次,根据表达式结果判断是否执行该取样器
  • 不勾选:只在ifcontroller入口处执行一次,根据结果判断是否执行下面的脚本

 

__jexl3和__groovy常用判断条件

判断条件 作用 例子
== 相等 ${__jexl3(${VAR}==1,)}判断${VAR}变量是否等于1
!= 不等于 ${__jexl3(${VAR}!=1,)}判断${VAR}变量是否不等于1
!! ${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反
&& 与,且  ${__jexl3(${VAR}==1 && ${name} != "hello",)}判断${VAR}变量等于1并且${name}不等于hello,则返回true
||  ${__jexl3(${VAR}==1 || ${name} != "hello",)}判断有一个条件为真,则返回true
>,>= 大于,等于 ${__jexl3(${count}>=10,)}
<.<= 小于,小于等于 ${__jexl3(${count}<=10,)}

 

例子

判断计数器数字有没有到10,到10了再执行请求

 

 

 

 

 

 

posted @ 2021-08-20 20:12  葛老头  阅读(115)  评论(0编辑  收藏  举报