问题描述

在JMeter中添加了If Controller控制器,然后再控制器的表达式输入框中输入了预先构造的为“真”条件,执行Run发现结果树中并没有监控到执行的记录。

问题分析

在最新版JMeter(目前版本:4.0)中,打开If Controller的界面,发现Express输入框上方有一段警告类型的提示语,如下:

 
 

"For performance it is advised to check "Interpret Condition as Variable Expression"
and use __jexl3 or __groovy evaluating to true or false or a variable that contains true or false.
${JMeterThread.last_sample_ok) can be used to test if last sampler was successful"

使用建议:

  1. 在Expression输入框中,建议将判断条件解释为变量表达式,并使用__jexl3函数或__groovy函数对该变量表达式求值为true/false
  2. 或者可输入值为true/false的变量
  3. ${JMeterThread.last_sample_ok}可用于检测最后一个取样器是否成功执行

从上可知,对于新版本JMeter中的If Controller,在Expression输入框中直接输入判断的表达式,如1 == 1${threadNum} > 2,而不做求值计算(true/false)就执行JMeter是没有效的,达不到预期的效果

预期:条件为真,会执行并监控到相关记录
实际:条件未能被识别,不会执行和监控到记录

PS:网络上搜索到有一部分教程是采用JMeter比较早期的版本(如:2.x版本),直接就写判断的表达式,并没有作真假求值运算也能被识别(目前因采用4.x新版本的JMeter,暂未验证低版本的情况)

解决方案

利用JMeter自带的函数助手(Function Helper)中的__jexl3函数或__groovy函数,对判断条件的表达式进行求值计算,生成对应的求值运算函数,然后将此运算函数复制到If Controller的Expression输入框中即可

 
__groovy函数
 
__jexl3函数

PS:直接在Expression输入框中输入true或false也是可以起到控制节点是否执行的判断依据

实际使用如下:

作者:Fighting_001
链接:https://www.jianshu.com/p/57b3970c83b8

转:JMeter5的If Controller操作解析的更多相关文章

  1. Spring MVC Controller中解析GET方式的中文参数会乱码的问题(tomcat如何解码)

    Spring MVC Controller中解析GET方式的中文参数会乱码的问题 问题描述 在工作上使用突然出现从get获取中文参数乱码(新装机器,tomcat重新下载和配置),查了半天终于找到解决办 ...

  2. C语言文件操作解析(五)之EOF解析(转载)

      C语言文件操作解析(五)之EOF解析 在C语言中,有个符号大家都应该很熟悉,那就是EOF(End of File),即文件结束符.但是很多时候对这个理解并不是很清楚,导致在写代码的时候经常出错,特 ...

  3. 【转】C语言文件操作解析(三)

    原文网址:http://www.cnblogs.com/dolphin0520/archive/2011/10/07/2200454.html C语言文件操作解析(三) 在前面已经讨论了文件打开操作, ...

  4. MAC 相关操作解析

    MAC 相关操作解析 OS 显示桌面 f11 F1~F12 fn + F1~F12 撤销重做 command + z command + shift + z 图片预览 选择图片 空格 上下左右 svn ...

  5. 【ABAP系列】SAP ABAP基础-数据更新至数据库操作解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-数据更新至 ...

  6. SQL Server 最小化日志操作解析,应用

    Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...

  7. SQL Server 最小化日志操作解析,应用[手稿]

    Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...

  8. hibernate多对一的操作解析

    在hibernate的关联操作中有很多关系,其中多对一关系是最常见的.我们看这两个表. 这里有部门表和员工表. 那么我们可以这么说一个部门可以有多个员工.这就是1对多的关系.这是我们站在部门表的角度上 ...

  9. linux内核之链表操作解析

    本文只是对linux内核中的链表进行分析.内核版本是linux-2.6.32.63.文件在:linux内核/linux-2.6.32.63/include/linux/list.h.本文对list.h ...

随机推荐

  1. Pycharm超级好用的快捷键——效率之王

    Pycharm超级好用的快捷键--效率之王 IT界老黑 IT界老黑 带你领略Python的魅力 ​关注他 270 人赞同了该文章 最重要的快捷键 ctrl+shift+A:万能命令行 shift两次: ...

  2. 13.lsof恢复删除的文件

    [root@temp ~]# lsof -p 5643COMMAND  PID   USER   FD   TYPE DEVICE  SIZE/OFF    NODE NAMEoracle  5643 ...

  3. spring-cloud 学习四 服务网关

    API Gateway 服务网关在微服务中是一个很重要的组成部分,通过服务网关可以统一向外提供REST API,例如 / 映射到后端应用 /api/user 映射到 user service,  /a ...

  4. 批量Insert

    oracle INSERT ALL ,) ,) ,) FROM DUAL

  5. mybatis generator代码生成器的使用

    一.有关mybatis generator的使用可以查看如下网址:http://www.mybatis.org/generator/index.html 二.如下是我自己整理的学习步骤: <1& ...

  6. 20.SSM整合-全注解开发

    全注解开发 1.将SpringMVC改为注解 修改spring-mvc.xml 2.将Spring改为注解 将Service改为注解,完成Dao的注入 将事务以注解方式织入到Service 1.修改s ...

  7. python解决导入自定义库失败: ModuleNotFoundError: No module named 'MyLib'

    python安装目录:...\python_3_6_1_64bit 新建文件:chenyeubai.pth,写入库所在的绝对路径E:\workSpace\my_code\learn\myLib 安装路 ...

  8. iPhone 11来了

  9. 电脑设置自动关机和取消自动关机代码bat命令

    一.设置定时关机bat 1.首先在桌面新建一个记事本txt 2.打开记事本,输入“shutdown -s -t 1260 ”1260是指1260秒,即21分钟内关机.可以修改成别的时间. 3.保存后, ...

  10. Educational Codeforces Round 37 (Rated for Div. 2)C. Swap Adjacent Elements (思维,前缀和)

    Educational Codeforces Round 37 (Rated for Div. 2)C. Swap Adjacent Elements time limit per test 1 se ...