JMeter逻辑控制器之IF控制器

本文详细介绍了JMeter中的IF控制器,包括其应用背景、使用方法、如何添加表达式进行条件判断,以及如何在实际项目中使用IF控制器控制请求执行。重点讲解了Jexl3和Groovy表达式的用法以及函数助手的调用。
摘要由CSDN通过智能技术生成

1.应用背景

  存在一些使用场景,比如:一个测试场景中,包含多个请求,当上一个请求的结果不符合要求,就不需要执行下一个请求。(例如:某产品的功能,质量任务执行,如果当现在的任务状态是执行中,就不用再执行下一个请求了

2.介绍

  如下是JMeter官网对IF控制器的介绍
在这里插入图片描述

3.使用

  IF条件判断,IF控制器可以在循环的基础上加判断,当条件为True的时候执行下一个请求。反之,当条件为false的时候,就不执行下一个请求。

4.添加控制器

  在线程组中或相关控制器中,选中“线程组”右键 —> 添加 —> 逻辑控制器 —> 如果(If)控制器,如图所示:
在这里插入图片描述

在这里插入图片描述

Expression (must evaluate to true or false) : 表达式(结果值必须是true或false)。在右边文本框中输入的条件值必须是true 或 false。

Interpret Condition as Variable Expression:默认勾选项,将条件解释为变量表达式(需要使用__jexl3 or __groovy 表达式)

Evaluate for all children:条件作用与每个子节点,默认不勾选。仅在If Controller入口处判断一次

use status of last sample: 作用就是只有当上一个请求成功后,才会执行if控制器下的请求。

注意:
1、文本框上的黄色感叹号,就是建议采用默认的jexl3 or groovy 表达式,以提高性能。
2、if 控制器 只能作用于其下的子项。

5.表达式说明

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

groovy 表达式
${__groovy(条件表达式}
逻辑表达式说明

==
含义:是否等于
示例:如KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3({VAR}==1,)},判断${VAR}变量是否等于1。

!=
含义:不等于
含义:如KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3({VAR}!=1,)},判断${VAR}变量是否不等于1。

!
含义:非
示例:如KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3(!({VAR}!=2),)},对${VAR}的值不等于2,其判断为真,那么执行IF下的子项。

&&
含义:并且
示例:如KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3({VAR}1 && "KaTeX parse error: Expected 'EOF', got '}' at position 18: …ame}" != "李四",)}̲,也就是{VAR}1和表达式 “${name}” != "张四"均为真时,执行IF控制器下的子项。

||
含义:或
示例:如KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3({VAR}1 && "KaTeX parse error: Expected 'EOF', got '}' at position 18: …ame}" != "李四",)}̲,也就是{VAR}1和表达式 “${name}” != "张四"其中一项为真时,执行IF控制器下的子项。

>=
含义:大于等于

示例:如${__jexl3(${count}>=15,)}。也就是${count}>=15,其判断为真,那么执行IF控制器下的子项。

注意:
如果判断表达式是字符串,此时,必须要用引号,变量都认为时字符串的形式,如:

${__jexl3("${name}"=="成都",)},不能用${__jexl3(${name}=="成都",)}

6.函数助手调用

  启动jmeter界面后,可以在JMeter的选项菜单中找到函数助手对话框,如下图所示:
在这里插入图片描述

7.举例

应用场景

  在实际项目测试油这样一个场景,质量任务执行,同一个任务,如果任务的状态在运行中,再次进行任务提交的话就不会提交。

重点

  在实际应用IF控制器的时候,需要确定IF条件的判断结果。
如下是测试产品过程中IF条件的判断标志。
在这里插入图片描述
实现

通过if控制器进行判断是否需要执行任务,其中data就是上图所示得值即“false”。

${__jexl3("${data}"!="true",)}
  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值