jmeter压测学习45-逻辑控制器之如果(If)控制器
前言
当遇到需要对不同的条件做不同的操作时,我们可以使用 JMeter 中 if 控制器来实现。
如果(If)控制器
线程组-添加-逻辑控制器-如果(If)控制器
Expression(must evaluate to true or false) 表达式必须为true或false
interpret condition as variable expression 勾选表达式为true 执行,为false不执行。
不勾选表达式正确,执行,表达式不正确,不执行
evaluate for all children 如果选中这一项,在每个子结点执行前都会计算表达式
表达式通过jexl3或者groovy转成true或false结果,条件格式:${__jexl3(条件表达式)}
:
== 是否等于, 如
${__jexl3(${VAR}==1,)}
,判断${VAR}变量是否等于1!=不等于, 如
${__jexl3(${VAR}!=1,)}
,判断${VAR}变量是否不等于1!
非, 如
${__jexl3(!(${VAR}!=1),)}
对${VAR}!=1的结果取反&&或||且与或, 如
${__jexl3(${VAR}==1 && ${name} != "heima",)}
>或者>== 大于等于, 如
${__jexl3(${count}>=10,)}
Expression 为true或false
勾选 interpret condition as variable expression ,表达式可以直接输入true,请求A会执行,输入false,请求B不会执行
运行后只有请求A会执行
jexl3 或groovy 函数
勾选 interpret condition as variable expression ,表达式可以通过__jexl3
或__groovy
函数转成 true 或 false 结果
先定义一个变量user 值为admin
添加条件判断 user 为 “admin” 的时候,执行请求A
// 使用__jexl3 函数
${__jexl3("${user}"=="admin",)}
// 或者使用__groovy函数
${__groovy("${user}"=="admin",)}
表达式结果为 true 执行请求A
判断语句
如果不勾选 interpret condition as variable expression ,可以直接使用判断语句,不需要用__jexl3()
或__groovy()
函数
但这样会有黄色的警告,一般不推荐
函数助手
如果不会写__jexl3
或__groovy
函数,可以使用函数助手自动生成
Tools - 函数助手对话框
选择一个功能__jexl3
函数,输入表达式,点生成按钮
这样把生成的函数复制出来就可以了:${__jexl3("${user}"=="admin",)}
2021年第六期《python接口自动化+测试开发》课程,1月9号开学(火热报名中!)
本期上课时间:1月9号-4月18号,每周六、周日晚上20:30-22:30