JMeter逻辑控制器之IF控制器

news2025/2/10 7:35:16

Jmeter控制器之IF控制器

  • 1.应用背景
  • 2.介绍
  • 3.使用
  • 4.添加控制器
  • 5.表达式说明
  • 6.函数助手调用
  • 7.举例

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",)}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1335781.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

听GPT 讲Rust源代码--src/tools(27)

File: rust/src/tools/clippy/clippy_lints/src/methods/suspicious_to_owned.rs 文件rust/src/tools/clippy/clippy_lints/src/methods/suspicious_to_owned.rs的作用是实施Clippy lint规则,检测产生潜在性能问题的字符转换代码,并给出相关建议。 在Rus…

vscode中使用GitHub Copilot Chat

文章目录 一、什么是Github Copilot Chat二、安装使用三、如何使用1. 聊天功能2. 内联功能 一、什么是Github Copilot Chat GitHub Copilot Chat 由 OpenAI 的 GPT-4 大型多模态模型提供支持,能带来更准确的代码建议、解释和指导。GitHub Copilot Chat 的内联功能可…

AI安全综述

1、引言 AI安全这个话题,通常会引伸出来图像识别领域的对抗样本攻击。下面这张把“熊猫”变“猴子”的攻击样例应该都不陌生,包括很多照片/视频过人脸的演示也很多。 对抗样本的研究领域已经具备了一定的成熟性,有一系列的理论来论述对抗样本…

Opencv学习笔记(二)图像基本操作

图像基本操作 一、边界填充 二、图像融合 三、图像阈值 四、图像平滑 五、形态学预算 1、腐蚀操作 2、膨胀操作 3、开闭运算操作 4、梯度运算 5、顶帽运算 6、黑帽运算 一、边界填充 cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borde…

[内功修炼]函数栈帧的创建与销毁

文章目录 1:什么是函数栈帧2:理解函数栈帧能解决什么问题呢3:函数栈帧的创建与销毁的解析3.1:什么是栈3.2:认识相关寄存器与汇编指令相关寄存器相关汇编指令 3.3 解析函数栈帧的创建和销毁3.3.1 预备知识3.3.2 详细解析一:调用main函数,为main函数开辟函数栈帧First:push前push…

C++力扣题目20--有效的括号

给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

ElasticSearch之RestClient笔记

1. ElasticSearch 1.1 倒排索引 1.2 ElasticSearch和Mysql对比 1.3 RestClient操作 导入依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.15.…

中科驭数与宽睿科技达成战略合作,共筑超低时延软硬一体技术底座

近日&#xff0c;中科驭数&#xff08;北京&#xff09;科技有限公司&#xff08;简称“中科驭数”&#xff09;和上海宽睿信息科技有限责任公司&#xff08;简称“宽睿科技”&#xff09;完成战略合作协议签署。双方将结合各自在超低时延软硬件领域的深厚业务积累和技术产品优…

PPT中加入页码

PPT中加入页码 文章目录 简单版本样式更改 简单版本 PPT中插入页码&#xff0c;基础的就是在“插入”选项卡中单机“幻灯片编号”即可 样式更改 然而&#xff0c;就像我们做幻灯片不满足于白底黑字一样&#xff0c;页码也总不能是默认的样式。 比如&#xff0c;在页码下面…

看图了解ODF光纤配线架,详细熔接过程学习

弱电工程&#xff0c;远距离传输离不开光纤&#xff0c;只有光纤才能让网络传输的更远&#xff0c;今天了解光纤的配套产品&#xff0c;光纤配线架&#xff08;Optical Distribution Frame&#xff09;用于光纤通信系统中局端主干光缆的成端和分配&#xff0c;可方便地实现光纤…

运行天地图Cesium.js三维服务案例

零、技术选型及相关网址 技术选型&#xff1a;Vue2、VueCli5、Cesium.js、天地图 相关网址&#xff1a;三维服务 - 天地图 帮助文档 一、cesium 初始化参数解析 initializeCesium() {this.viewer new Cesium.Map("cesiumContainer", {shouldAnimate: true, // 是否…

MATLAB中确定峰宽

创建由钟形曲线之和组成的信号。指定每条曲线的位置、高度和宽度。 x linspace(0,1,1000);Pos [1 2 3 5 7 8]/10; Hgt [4 4 2 2 2 3]; Wdt [3 8 4 3 4 6]/100;for n 1:length(Pos)Gauss(n,:) Hgt(n)*exp(-((x - Pos(n))/Wdt(n)).^2); endPeakSig sum(Gauss); 绘制各单…

工具系列:TensorFlow决策森林_(7)检查和调试决策森林模型

文章目录 设置训练一个简单的随机森林绘制模型检查模型结构手动创建模型结束树写作 在本文中&#xff0c;您将学习如何直接检查和创建模型的结构。我们假设您已经熟悉了在初级和中级介绍的概念。 在本文中&#xff0c;您将&#xff1a; 训练一个随机森林模型并以编程方式访问其…

如何通过内网穿透实现远程访问本地Linux SVN服务

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

HBase基础知识(五):HBase 对接 Hadoop 的 MapReduce

通过 HBase 的相关 JavaAPI&#xff0c;我们可以实现伴随 HBase 操作的 MapReduce 过程&#xff0c;比如使用 MapReduce 将数据从本地文件系统导入到 HBase 的表中&#xff0c;比如我们从 HBase 中读取一些原 始数据后使用 MapReduce 做数据分析。 1 官方 HBase-MapReduce 1&am…

vscode中默认shell选择

terminal.integrated.defaultProfile.linux在vs的Preference的Settings里面搜索terminal.integrated.defaultProfile.linux&#xff0c;默认的应该是null&#xff0c;将其修改为bash即可。 linux———/bin/sh、 /bin/bash、 /bin/dash的区别

微信使用证书退款时候报”请求被中止: 未能创建 SSL/TLS 安全通道

解决方法&#xff1a;IIS-》应用程序池-》高级设置-》进程模块-》加载用户配置文件&#xff0c;设置为True就可以了。

【Filament】立方体贴图(6张图)

1 前言 本文通过一个立方体贴图的例子&#xff0c;讲解三维纹理贴图&#xff08;子网格贴图&#xff09;的应用&#xff0c;案例中使用 6 张不同的图片给立方体贴图&#xff0c;图片如下。 读者如果对 Filament 不太熟悉&#xff0c;请回顾以下内容。 Filament环境搭建绘制三角…

科技云报道:开源才是大模型的未来?

科技云报道原创。 一年前&#xff0c;ChatGPT横空出世&#xff1b;7个多月后&#xff0c;Meta宣布开源LLaMA 2&#xff0c;并且可免费商用。 这一天&#xff0c;也成为大模型发展的分水岭。短时间内&#xff0c;LLaMA 2对一些闭源的大模型厂商造成了致命性的打击。 随后&…

FL Studio 21最新版本for mac 21.2.2.3470中文解锁版

FL Studio 21最新版本for mac 21.2.2.3470中文解锁版是最新强大的音乐制作工具。它可以与所有类型的音乐一起创作出令人惊叹的音乐。它提供了一个非常简单且用户友好的集成开发环境&#xff08;IDE&#xff09;来工作。这个完整的音乐工作站是由比利时公司 Image-Line 开发的。…