一、背景

在实际工作中,当使用Jmeter做性能脚本或者接口脚本时,有可能会遇到需要对不同的条件做不同的操作,基于这种诉求,在Jmeter中可使用if控制器来实现

二、实际操作

逻辑控制器位置:

  在线程组下,执行:添加  ---->> 逻辑控制器 ---->> 如果(If)控制器

if逻辑控制器控件中最重要就是Expression(must evaluate true or false)输入框,此处需要写入需要进行判断的表达式,从must evaluate true or false可知,实际使用时,只能填入true或者false这样的值,因此我们需要借助其他模块或者函数将需要进行判断的表达式(如 ${var}== 5)转换成true或false,判断才能生效,直接将${var}== 5这样的表达式写入Expression中是无效的。

从该控制器提示的信息中,可以借助__jexl3或者__groovy函数来计算表达式的值,这样着重介绍下__jexl3在 if控制器中的使用。

jexl全称:Jakarta Commons Jexl,是一种表达式语言(Java Expression Language)解释器。

JEXL Expression to evaluate:此处直接填写需要进行判断的表达式即可

表达式支持:

==   是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1

!=  不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1

!  非,如${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反

&&或||  且与或,如  ${__jexl3(${VAR}==1 && ${name} != "heima",)}

> 或者>==   大于等于,如${__jexl3(${count}>=10,)}

三、总结

在if逻辑控制器的Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3和__groovy函数

最新文章

  1. centos 7 下安装numpy、scipy等python包
  2. POJ 1330 Nearest Common Ancestors(Targin求LCA)
  3. 关于xib文件和storyboard文件的那些事儿
  4. 如何把android中布局文件(.xml)与相关的类(.java)进行关联?
  5. MS-SQL SERVER单列合并的四种常用方法
  6. MySQL基础之第17章 MySQL日志
  7. java的动态代理机制
  8. 【AngularJs】---实现select的ng-options
  9. chromium的部署工具depot_tools和gclient
  10. 查询ID为5的数据的前后各一行数据,ID不连续
  11. linux驱动调试--段错误之oops信息分析
  12. too many open files问题
  13. 【转】SQLyog SSH 密钥登陆认证提示: No supported authentication methods available 解决方法
  14. 64位windows系统安装javaee6.0不成功解决方案
  15. csharp:Microsoft.Ink 手写识别(HandWriting Recognition)
  16. Eclipse启动JVM机制
  17. JS的scrollIntoView学习
  18. 64位Navicat Premium安装/破解【含资源】
  19. java 反射bean
  20. LeetCode -- Longest Increasing Subsequence(LIS)

热门文章

  1. 分布式系统领域的 CAP 定理
  2. Django开发常用方法及面试题
  3. sublime自动格式化方法
  4. Django基础之django分页
  5. WUSTOJ 1338: The minimum square sum(Java)
  6. WUSTOJ 1337: Car race game(C)树状数组,离散化
  7. PowerBuilder学习笔记之行删除卡死问题
  8. 最简容器化动手小实践——再战flappybird
  9. 在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列)
  10. leetcode算法题(4)