Jmeter 逻辑控制之IF条件控制器

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

测试环境

JMeter-5.4.1

循环控制器介绍

添加While Controller

右键线程组->添加->逻辑控制器->While控制器

在这里插入图片描述

控制器面板介绍

添加后,面板如下

在这里插入图片描述

仅Expression值为true,才会执行位于其下的操作

最好勾选(默认配置)Interpret Condition as Variable Expression?,这样Expression输入框可以有两种输入选择:

  • 输入一个值为true 或者false的变量

比如,如果你想测试,最后一个采样器执行是否成功,可以输入${JMeterThread.last_sample_ok}

  • 输入对bool表达式求值的函数(建议使用${__jexl3()},当然也可以用支持__groovy) ,形如
${__jexl3(${COUNT} < 10 && "${VAR}" == "abcd",)}

例如,没勾选上述配置之前,使用条件:KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3({VAR} == 23)},该条件计算结果(true或者false)会被传递给JavaScript,最后由JavaScript反回该结果值。勾选上述配置之后,会将该条件计算结果直接与true比较,不需要使用JavaScript.

检测变量是否为定义或者为null,可以采用以下表达式,假设变量命名为 myVar:

${__jexl3("${myVar}" == "\${myVar}")}

或者:

${__jexl3("${myVar}" != "\${myVar}")}

如果不勾选 Interpret Condition as Variable Expression? 控制器会使用javascript计算表达式,这会带来很大的性能消耗,并且降低测试的扩展性。

Evaluate for all children

如果勾选,则执行其下所有子组件时都会重新计算条件值,否则仅在进入控制器时时进行计算

示例:如下图,If Controller条件为KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3("{myVar}" == “${myVar}”)},执行HTTP Request1之前没有设置myVar变量。

在这里插入图片描述

没勾选Evaluate for all children之前,运行时,HTTP Request2也会被执行,反之,HTTP Request2不会被执行。

例子(JavaScript)

  • ${COUNT} < 10
  • “${VAR}” == “abcd”

如果在解释代码时出错,那么条件结果值会被设置为false

当使用__groovy时,注意不要在字符串中使用变量替换,形如KaTeX parse error: Expected group after '_' at position 2: {_̲_groovy("{myVar}" == 1)},否则使用了改变脚本的变量不能被缓存。取而代之,使用vars.get(“myVar”),参见下文

例子(Variable Expression)

  • ${__groovy(vars.get(“myVar”) != “Invalid” )} (检查myVar变量是否等于Invalid)
  • ${__groovy(vars.get(“myInt”).toInteger() <=4 )} (检查myInt变量是否小于等于4)
  • ${__groovy(vars.get(“myMissing”) != null )} (检查是否设置了myMissing变量)
  • KaTeX parse error: Expected group after '_' at position 2: {_̲_jexl3({COUNT} < 10)}
  • ${RESULT}
  • ${JMeterThread.last_sample_ok} (检查最后一个采样器采样是否成功)

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

相关推荐

  1. Linux逻辑控制符&&

    2024-06-19 08:56:04       7 阅读
  2. HarmonyOS ArkTS 渲染控制概述 if/else:条件渲染

    2024-06-19 08:56:04       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-19 08:56:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-19 08:56:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-19 08:56:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-19 08:56:04       20 阅读

热门阅读

  1. Mellanox&nvidia ib高速网络异常排查FAQ

    2024-06-19 08:56:04       9 阅读
  2. Ubuntu 查看设备温度

    2024-06-19 08:56:04       6 阅读
  3. 5、分支对比 - 课件

    2024-06-19 08:56:04       8 阅读
  4. Python----多线程使用

    2024-06-19 08:56:04       8 阅读
  5. 234. 回文链表

    2024-06-19 08:56:04       7 阅读
  6. 组帧的方法

    2024-06-19 08:56:04       6 阅读
  7. elementui写一个自定义的rangeInput的组件

    2024-06-19 08:56:04       8 阅读
  8. GitHub|GitLab它们的区别是什么?

    2024-06-19 08:56:04       9 阅读
  9. C++ day4

    C++ day4

    2024-06-19 08:56:04      8 阅读
  10. 基于单片机的直流电机调速系统设计探讨

    2024-06-19 08:56:04       6 阅读