JMeter-如果(if)控制器

发布时间 2023-10-25 11:09:49作者: 郝开心的爸爸

目录

 

前言

 

需求

 

一:添加商品信息接口

 

二、打开函数助手,选择__jexl3函数

 

三、添加逻辑控制器-如果(if)控制器

 

四、在如果(if)控制器下添加登录http请求

 

五、添加监听器-察看结果树

 


前言

在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现

我们先来了解一下if控制器,含义:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串 都需要加引号 

条件格式:${__jexl3(条件表达式)}:

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

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

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

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

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

 

 

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

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

需求

如果商品信息接口返回参数skuId的参数值为1,则执行登录接口,否则不执行

一:添加商品信息接口

写入正确的接口地址和参数,添加后置处理器-JSON提取器,获取skuId的值,变量名称为mySkuId

 

 

二、打开函数助手,选择__jexl3函数

引用JSON提取器的变量名mySkuId

 

 

三、添加逻辑控制器-如果(if)控制器

写入${__jexl3(${mySkuId}=="1",)}

 

或者不勾选Interpret Condition as Variable Expression?选项,设置条件为mySkuId等于1,进行执行

 

四、在如果(if)控制器下添加登录http请求

写入正确的接口地址和参数

 

五、添加监听器-察看结果树

点击运行,查看执行结果