Jmeter逻辑控制器之if控制器-12

If控制器允许用户控制其下的测试请求是否运行(条件为true时执行,否则不执行)。默认情况下,条件在初始输入时仅判断一次,但是可以选择对控制器中包含的每个可运行请求进行判断。

使用时,建议勾选“Interpret Condition as Variable Expression?”,即将条件解释为变量表达式,在条件字段中,有两个选择

1:使用包含true或false的变量
如果要测试上一个样本是否成功,可以使用${JMeterThread.last_sample_ok}

2:使用函数(建议使用$ {__ jexl3()})判断
函数必须返回true或false,此函数可使用函数助手创建
如:${__jexl3(${count}<10 && “${vchar}” == “abcd”,)}

在传统的做法中,可以使用以下条件: $ {__ jexl3($ {VAR} == 23)}并将其评估为true / false,然后将结果传递给JavaScript,JavaScript将返回true / false。如果选择了“Interpret Condition as Variable Expression?”选项,则无需使用JavaScript即可对表达式请求值并将其与“ true ” 进行比较。取消勾选此选项,将造成很大的性能损失并降低扩展性。

要测试变量是否未定义(或为null),表达式为:“$ {myVar}“ ==“ \ $ {myVar}“
或使用“ $ {myVar}“ != “\ $ {myVar}“测试变量是否已定义并且不为null。

在这里插入图片描述
属性描述
名称 :显示的此取样器的描述性名称,可自定义

Expression:默认情况下,该条件被解释为返回“ true ”或“ false ”的JavaScript代码,但是可以覆盖此条件(勾选“Interpret Condition as Variable Expression?”)

Interpret Condition as Variable Expression?:与JavaScript情况不同,该条件仅检查其是否匹配“ true ”(忽略大小写)

Evaluate for all children :为所有子取样器判断吗?如果未选中,则仅在进入时判断条件一次。如果选中,则每个子取样器执行都进行判断

示例(JavaScript,即不勾选Interpret Condition as Variable Expression?的情况下)
$ {COUNT} <10
“ $ {VAR}” ==“ abcd”
如果在解释代码时出错,则假定条件为false,并且在jmeter.log中记录了一条消息。
建议避免使用JavaScript模式来提高性能。

示例(变量表达式)
变量表达式可通过函数助手进行生成,使用__groovy时,注意不要在字符串中使用变量替换,否则,如果使用更改了脚本的变量,则无法缓存。而是使用vars.get(“ myVar”)获取变量。

参考下面的Groovy示例:
$ {__ groovy(vars.get(“ myVar”)!=“ Invalid”)}(检查myVar不等于Invalid)
$ {__ groovy(vars.get(“ myInt”).toInteger()<= 4)}(检查myInt小于或等于4)
$ {__ groovy(vars.get(“ myMissing”)!= null)}(检查是否未设置myMissing变量)

$ {__ jexl3($ {COUNT} <10)} (检查变量COUNT的值小于10)
$ {JMeterThread.last_sample_ok}(检查最后一个样本是否成功)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值