Jmeter系列(50)- 详解 If 控制器

简介: Jmeter系列(50)- 详解 If 控制器

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

 

简单介绍


可以通过条件来控制是否运行其下面的测试元件(子元素)

 

If 控制器


image.png

If 控制器界面介绍


image.png

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

 

黄色感叹号那一段文字

就是建议要选中 Interpret Condition as Variable Expression?,然后通过 ${__jexl3 } 或 ${__groovy } 表达式返回 true 或 false

 

扩展

如果要测试上一个样本(sampler)是否成功(code=200),则可以使用 ${JMeterThread.last_sample_ok}

 

最简单的栗子


线程组结构树

image.png

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

 

第二个使用 groovy 表达式的 if 控制器

image.png

第三个使用 jexl3 表达式的 if 控制器

image.png

Expression 中使用变量的栗子


线程组结构树

image.png

因为是字符串,所以要加双引号哦 ""

 

查看结果树

image.png

勾选 Evaluate for all children? 的栗子


线程组结构树

image.png

因为是字符串,所以要加双引号哦 ""

 

JSR223 后置处理器

image.png

总结

勾选了 Evaluate for all children? 意味着它的每个子元素在运行前都会运行一次 if 控制器里面的条件表达式,看看是否还是 true,是的话就可以运行,false 就不运行

相关文章
|
测试技术 API Apache
使用 Apache JMeter 吞吐量控制器的详细指南
Apache JMeter是开源的负载和性能测试工具,其吞吐量控制器用于控制采样器执行频率以达到特定吞吐量。要使用它,首先启动JMeter,创建测试计划,添加线程组和逻辑控制器。配置吞吐量控制器的参数,如总执行次数或百分比,并添加HTTP请求采样器。例如,创建两个控制器,一个设定执行次数,另一个设定执行百分比。通过监听器如汇总报告和查看结果树来分析测试结果,从而模拟不同负载并识别性能瓶颈。吞吐量控制器是实现复杂测试场景的关键组件。
|
测试技术 Apache 数据安全/隐私保护
使用 Apache JMeter 事务控制器的详细指南
Apache JMeter 的事务控制器用于组合多个请求成一个事务,以便衡量整体性能。创建测试计划涉及添加线程组、事务控制器和采样器,配置参数如线程数、Ramp-Up时间和循环次数。在事务控制器内,添加HTTP请求模拟用户登录和访问主页等操作。通过勾选选项,包括计时器和处理器时间。添加监听器如汇总报告和查看结果树来分析结果,从而评估系统性能瓶颈。事务控制器对于测试复杂业务流程的性能非常有用。
|
编解码 Java API
Jmeter--控制器--详解,2024年最新系统学Python从零开始
Jmeter--控制器--详解,2024年最新系统学Python从零开始
|
JSON Java 测试技术
Jmeter--控制器--详解(1),技术协会Python部面试
Jmeter--控制器--详解(1),技术协会Python部面试