性能测试|JMeter逻辑控制器(十)

简介: 性能测试|JMeter逻辑控制器(十)

在这里插入图片描述

Jmeter 逻辑控制器 之 if 控制器

在实际工作中,当使用JMeter做性能测试脚本或者接口测试脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中如果(If)控制器来实现。

认识if 控制器

老规矩,还是新建一个if控制器来介绍这个控制器。如下图:

在这里插入图片描述
在这里插入图片描述

  • Expression (must evaluate to true or false):表达式(值必须是true或false),也就是说,在右边文本框中输入的条件值必须是true 或 false,(默认情况下)
  • Interpret Condition as Variable Expression:默认勾选项,将条件解释为变量表达式(需要使用__jexl3 or __groovy 表达式)
  • Evaluate for all children:条件作用于每个子项(具体理解见后面的列子说明)

注:

  1. 文本框上的黄色感叹号,就是提示你,建议采用__jexl3 or __groovy 表达式,以提高性能,也就是默认的方式。
  2. if 控制器 只能作用于其下的子项

默认用法,采用__jexl3 or __groovy 表达式

如下图,if 控制器 下 有一个 访问百度首页 的取样器,只有if条件满足时,才会执行该取样器。采用默认方式,将条件1==1,放入 __jexl3表达式中。

在这里插入图片描述

如果不知道表达式如何使用,可使用Jmeter 的函数助手,如下:

在这里插入图片描述

直接输入条件

如下图,去掉 “Interpret Condition as Variable Expression?” 前面复选框,直接输入条件 1==1。访问百度首页的取样器将被执行。

在这里插入图片描述

条件中使用变量

很多情况下,需要根据用户变量或者上一个取样器的返回值来进行条件判断,觉得是否需要执行某一个的取样器。

如下,新增一个用户变量:ischildren。条件:ischildren 的值为 y 的时候,才执行 访问百度首页 的取样器。

在这里插入图片描述

在这里插入图片描述

或者可以用表达式:${__jexl3("${ischildren}"=="y",)}。

Evaluate for all children 的用法

在 上面了解了条件中如何使用变量,那么如果 if 控制器下的取样器执行后,改变了该变量的值,if 控制器下 其后的取样器还会被执行吗?看看下面的列子:

在这里插入图片描述

在这里插入图片描述

if 控制器下 有 3 个取样器,变量 ischildren 的初始值为 y,if 控制器的条件为:${__jexl3("${ischildren}"=="y",)}。

开始满足条件,那么应该执行 访问百度首页 、访问百度新闻页、访问百度贴吧 3个取样器,

但是 访问百度新闻页 执行后,将ischildren 的值变了 n,已经不能满足 "${ischildren}"=="y" 条件。

所以 访问百度贴吧 这个取样器不会被执行。

在这里插入图片描述

补充:

条件有:


==  等于,如 1==1 或 ${__jexl3(1==1,)}

> 、< 大于 小于,如 2>1,1<2,或 ${__jexl3(2>1,)}    

>=、<= 大于等于  小于等于,如 2>=1 ,或 ${__jexl3(2>=1,)} 

!=、!不等于,非,如 "y"!="n",非 则取 != 的反值

多条件可用:|| 或,&& 和,如:2<5 && 2>1,${__jexl3(2<5 && 2>1,)}

另外,如果时字符串必须要用引号,变量都认为时字符串的形式,如:

${__jexl3("${ischildren}"=="y",)}
相关文章
|
9月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1318 23
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
556 3
|
11月前
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
缓存 网络协议
Jmeter如何对UDP协议进行测试?
`jmeter-plugins`是JMeter的插件管理器,用于管理和组织所有插件。访问[官网](https://jmeter-plugins.org/install/Install/)下载并放置于`lib/ext`目录下,重启JMeter后可在“选项”中看到插件管理器。
532 1
Jmeter如何对UDP协议进行测试?
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
607 3
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
522 1
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
450 4
|
8月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
1015 0
|
7月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1556 10
|
7月前
|
监控 Java 数据挖掘
利用Jmeter工具进行HTTP接口的性能测试操作
基础上述步骤反复迭代调整直至满足预期目标达成满意水平结束本轮压力评估周期进入常态监控阶段持续关注系统运转状态及时发现处理新出现问题保障服务稳定高效运作
1042 0