Jmeter基础入门教程【17】--常用功能详解:if控制器

前言
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
💬 如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
💬 人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺💬
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦

一、if控制器
1. 作用
  • 可以通过条件来控制是否运行其下面的测试元件
    在这里插入图片描述
2. 参数详解

在这里插入图片描述

  • Expression(must evaluate to true or false):表达式(值必须是true或false),也就是说,在右边文本框中输入的条件值必须是true或false(默认false)

  • Interpret Condition as Variable Expression?:默认勾选,将条件解释变为变量表达式(需要使用KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3}或{__groovy}表达式)

  • Evaluate for all children?:条件作用于每个子项(具体理解见后面的例子说明)

    建议:选中Interpret Condition as Variable Expression?,然后用KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3}或{____groovy}表达式返回true或false

    注意:如果取消选中Interpret Condition as Variable Expression?,这可能会导致性能损失很大,并使测试的扩展性降低,所以不推荐不勾选

3. 具体实例

最简单的例子:

使用groovy表达式的if控制器
在这里插入图片描述

使用jexl3表达式的if控制器:
在这里插入图片描述

运行结果如下:
在这里插入图片描述

可以看到,两个调试取样器都运行了,说明两个if控制器都返回了ture

表达式中使用变量的例子:

因为是字符串,所以要加引号
在这里插入图片描述

勾选Evaluate for all children?的例子:

用户自定义变量:
在这里插入图片描述

if控制器:
在这里插入图片描述

JSR223 PostProcessor:

后置处理程序
在这里插入图片描述

运行结果如下:
在这里插入图片描述

可以看到,勾选了Evaluate for all children?意味着它的每个子元素都会在运行前判断一下if控制器里的条件表达式是否为true,为true才会继续运行。

扩展:如果要测试上一个sampler是否执行成功,可以使用表达式${JMeterThread.last_sample_ok}

我们举一个反向的例子帮助理解,如上一个sampler运行失败,则运行if控制器下面的sampler:

if控制器:
在这里插入图片描述
运行结果如下:
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值