jmeter控制器--if控制器
一、背景
在实际工作中,当使用Jmeter做性能脚本或者接口脚本时,有可能会遇到需要对不同的条件做不同的操作,基于这种诉求,在Jmeter中可使用if控制器来实现
作用:根据给定表达式的值决定是否执行该节点下的子节点,默认使用javascript的语法进行判断(如下图红框内的文字)。
二、实际操作
逻辑控制器位置:
在线程组下,执行:添加 ---->> 逻辑控制器 ---->> 如果(If)控制器
例如:要实现登录成功后进行其他操作,登录是否成功用正则表达式获取token来判断
那么看下if控制器,
参数:
- Interpret Condition as Variable Expression?:选中这一项时表示:判断变量值是否等于字符串true(不区分大小写)
- Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式
示例一:使用表达式的方式进行判断:
if控制器判断的写法是 “”“变量”=="值" 这样的写法,if控制器下有个选项是Interpret Condition as Variable Expression?翻译过来意思是将条件解释为变量表达式?
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,)}
那么此处判断的条件是token不等于0,填入if控制器中,执行
执行结果通过。
ps: 也可以使用用户自定义变量的方式,直接设置变量的值为true,也 可以进入if控制器
示例二:使用JavaScript进行条件解释
不勾选Interpret Condition as Variable Expression?选项,设置条件为token不等于0 ,进行执行
最后执行成功。
转载于:https://www.cnblogs.com/gezirui/p/9618411.html
jmeter控制器--if控制器相关推荐
- jmeter之录制控制器与代理的使用
jmeter之录制控制器与代理的使用 1. 先启动jmeter,在测试计划中添加线程组 2. 选中线程组右键添加,在配置元件中点击HTTP请求默认值 3. 选中线程 ...
- jmeter持续时间循环控制器_不写代码实现条件循环?只用Jmeter就能实现
Jmeter是常用的接口测试工具,可以方便地对各种接口进行测试.有时,我们可能需要在一次测试流程中对某个接口进行若干次请求,以达成一定目的.这时,我们无需在脚本中重复添加类似的请求,可以利用Jmete ...
- jmeter使用if控制器_Jmeter 常见逻辑控制器详解
简介 Jmeter有很多逻辑控制器,可以控制请求的执行顺序和执行逻辑,本文就Jmeter常见的逻辑控制器做一个详细的描述,并通过示例让大家了解逻辑控制器的作用. 代码的逻辑分支通常有:条件判断IF多条 ...
- JMeter 接口测试-if控制器
今天是小雪节气: 小雪是二十四节气中的第20个.起点于每年公历11月22日或23日,太阳位于赤纬-20°16',到达黄经240°. JMeter 接口测试-if控制器 使用场景: 当业务场景是用户登录 ...
- Jmeter接口测试-if控制器
点击箭头处"蓝色字",关注我哦!! 小雪是二十四节气中的第20个.起点于每年公历11月22日或23日,太阳位于赤纬-20°16',到达黄经240°. JMeter 接口测试-if控 ...
- Jmeter之循环控制器
Jmeter之循环控制器 (Jmeter如何控制每个线程发送的请求数) Jmeter的逻辑控制器中的循环控制器控制每个线程循环发送的请求数据,逻辑控制器中的循环次数与线程组中的循环次数同时配置的话则叠 ...
- jmeter持续时间循环控制器_jmeter 循环控制器使用
案例一: 一.认识循环控制器 如下图:新增一个循环控制器 循环控制器的设置界面: 循环次数:永远和自定义次数,这个应该比较好理解. 二.使用循环控制器 其实大家对Jmeter的熟悉的话,应该会想到,线 ...
- JMeter ForEach循环控制器
JMeter ForEach循环控制器 ForEach循环控制器与用户定义变量使用 1.添加 用户定义的变量(遍历的数据) 2.添加 ForEach控制器 含义 3.在 ForEach控制器下,添加请 ...
- jmeter使用if控制器_Jmeter(七)_if控制器+循环控制器+计数器控制接口分支
最近查阅了一下网上关于if控制器的文章,大同小异,几乎找不到原创,于是决定自己写一篇 下午测试接口,遇到了一个审核的流程.逻辑很简单,就是审核不通过之后返回去继续修改再提交,然后再审核,直到通过为止. ...
- Jmeter 随机控制器-随机顺序控制器
随机控制器 随机逻辑控制器的行为与交替控制器相似,不同之处在于它不是按顺序执行其中的请求,而是每次执行时,在控制的请求中随机一个. 随机控制器中,每个线程每次循环时,可能调用其中的一个请求,调用一个请 ...
最新文章
- redis mysql 集群_mysql_redis
- 基于光流的3D速度检测
- java spring 服务器关闭_通过springboot怎么停止服务器??
- TFS2012 服务器安装
- NodeMCU学习(三) : 进入网络世界
- python版本回退_Python爬虫之BeautifulSoup解析之路
- asp.net定时执行任务-解决应用池回收问题----转载
- Maven搭建Nexus私服
- CUDA11.1安装教程(python3.8)
- Linux/Document: Livepatch
- python跳一跳编程构造_Python + 新手 制作“跳一跳”辅助程序
- Chrome的插件扩展程序安装目录是什么?在哪个文件夹?
- python1e2_Python必修基础(1)
- JWT学习(二):Json Web Token JWT的Java使用 (JJWT)
- 机器学习 Machine Learning- 吴恩达Andrew Ng 第21~25课总结
- Web开发:布局视口、视觉视口、理想视口
- android imagebutton的点击事件,Android 点击ImageButton时有“按下”的效果的实现
- Python爬虫教程(纯自学经历,保姆级教程)
- 开发调试指令大全--(博通开发调试命令)
- 数据分析师课程(ArcGIS按属性选数据、各种数据分析案例)
热门文章
- [转]JavaScript优化方案
- 水晶报表自定义函数(替换并截取特殊字符后内容)
- Android App列表之游标ListView(索引ListView)
- step5 . day6 网络编程 基于TCP协议的多并发模式(使用多进程、多线程、select函数分别实现)...
- JS_arguments
- KR C 传统C语言的函数定义
- javascript学习-创建json对象数据,遍历
- Oracle 游标的各种写法
- SQL 语句递归查询 With AS 查找所有子节点
- AFNetworking框架-详细解析