JMeter循环控制器的使用
if逻辑控制器
假设我们在创建脚本的时候,有个场景是期望根据不同的服务器 ip 去压测不同环境的接口,如我们需要即测试 test环境,又测 online环境,只需要通过逻辑控制器去判断不同环境的区域即可。
首先我们创建一个if循环控制器,点击「添加」–> 「逻辑控制器」–> 「如果(if)控制器」
这里我们在if控制器中,写入条件表达式 ${__jexl3("${host}" == "localhost")}
- if控制器的表达式为 ${__jexl3(判断条件)}。
这里我们有一点需要注意的时,假设我们判断的数据,他是一个字符串形式的话,那么他的表达式我们都需要给他加上双引号。
- 如上方图中,我们判断 请求的 host 是否是本地,则判断条件为
"${host}" == "localhost"
,我们可以看到,"${host}"是加了双引号的。 - 如果我们判断的条件是数字,如
${__jexl3(${num} == 0)}
,是数字条件的话,则不需要加双引号
上面我们已经创建了表达式,并且 host就是本地的,我们来看看是否会运行。
可以看到在查看结果树中,所有的接口都正常执行了。
那我现在我们来改一下条件表达式,我们判断当 host 不是本地的时候,则去执行下面的脚本。
运行之后,我们可以看到,程序并没有执行脚本。
仅一次控制器
首先我们来创建一个仅一次控制器,点击「添加」–> 「逻辑控制器」–> 「仅一次控制器」
这个控制器,使用最常见的场景是登录,我们通常都是希望一个用户他只会登录一次。下面我们来看看设置一个线程,循环两次的结果。
我们在查看聚合报告中可以看到,其他的结果多运行了两次,登录的结果,只运行了一次。
这里需要注意的是,仅一次控制器,是根据线程数的数量来执行的,假设我们还是以登录接口为例,但是我们线程组设置为2个,并且循环两次,实际上登录的接口就会执行2次,我们来实战演示一下。
上方的图中,我们可以看到,登录接口执行了2次,其他的接口都执行了4次。
foreach控制器
foreach控制器,可以遍历某个数组中的所有数据,这里类似我们代码中的for循环。
首先,我们在创建循环控制器之前,需要先从用户列表中将所有的手机号码提取出来,提取出来之后,数据会以数组的形式展示。关于Json提取器中不理解的可以看我这篇博客。链接: https://blog.csdn.net/weixin_43865008/article/details/118371620.
我们在调试取样器中,可以看到已经提取出10组数据
下面我们来创建一个 foreach控制器, 点击「添加」–> 「逻辑控制器」–> 「foreach控制器」
- 输入变量前缀:这里我们是从 Json提取器中,提取出的变量参数
- 开始循环字段(不包含):这里我们从0开始,可以看到上方调试取样器中,数据是从第一个开始的,这里写着不包含,那么我们从0开始,否则写1的话,第一组数据会遍历不到
- 结束循环字段(包含):这里同理,我们有10组数据,设置10,则包含第十条数据
- 输出变量名称:顾名思义,我们可以自定义一个输入变量名
- 数组之前加上下划线:默认勾选,如下图,我们看到PhoneNumList_1有个下划线,勾选之后,则变量中不需要在写这个下划线了。
设置成功之后,我们来看一下聚合报告,这里用户列表的接口执行了一次,用户认证执行了10次。
JMeter循环控制器的使用相关推荐
- jmeter循环控制器和CSV数据文件设置搭配使用
目录 1.执行前准备 2.执行顺序 1.执行前准备 需求是:有一个变量,变量有3个值需要循环执行一下,看看结果: 添加线程组 添加http请求 添加循环控制器 添加CSV数据文件设置 添加调试器( ...
- jmeter 循环控制器、计数器的使用
连接数据库后,添加"Debug PostProcessor",执行后查看数据返回结果 数据库中的数据: 添加"循环控制器",数据实际有10条,循环次数可以填写& ...
- jmeter使用if控制器_Jmeter(七)_if控制器+循环控制器+计数器控制接口分支
最近查阅了一下网上关于if控制器的文章,大同小异,几乎找不到原创,于是决定自己写一篇 下午测试接口,遇到了一个审核的流程.逻辑很简单,就是审核不通过之后返回去继续修改再提交,然后再审核,直到通过为止. ...
- jmeter持续时间循环控制器_不写代码实现条件循环?只用Jmeter就能实现
Jmeter是常用的接口测试工具,可以方便地对各种接口进行测试.有时,我们可能需要在一次测试流程中对某个接口进行若干次请求,以达成一定目的.这时,我们无需在脚本中重复添加类似的请求,可以利用Jmete ...
- 21天Jmeter打卡Day12 逻辑控制器之循环控制器
21天Jmeter打卡Day12 逻辑控制器之循环控制器 https://www.jianshu.com/p/53335b2ff9be 添加循环控制器,设置循环次数为2 这样设置,就是执行四次 注意循 ...
- Jmeter中线程组对Sampler和对循环控制器的作用
从Badboy录制完成的Jmeter脚本,导入Jmeter后,都会有一个默认的循环控制器: 此时循环控制器作用于下面的Sampler.此时我们设置Thread Group的场景如下: 此时我们运行,查 ...
- jmeter逻辑控制器之while循环控制器(一)
jmeter逻辑控制器之while循环控制器(一) while循环控制器 微信公众号为:测试demo分享 示例一 示例2 while循环控制器 微信公众号为:测试demo分享 关注微信公众号,了解更多 ...
- JMeter应用-循环控制器、计数器的配合使用
使用场景:今天有了一个构造测试数据的需要,要用Jmeter来写一个脚本,自动创建一个商户,以及在商户下创建多个站点. 重点在与怎样快速创建多个站点,且各个站点名称类似于站点01.站点02,名称不能重复 ...
- jmeter常用逻辑控制器(事务控制器,循环控制器)
jmeter很强大,誓要干倒postman 一,事务控制器 1.1 打开方式: 鼠标右键)线程组--->(鼠标悬停)添加--->(鼠标悬停)逻辑控制器--->(左键点击)事务控制器. ...
最新文章
- sql语句语法多表关联_SQL Delete语句-如何删除行或表,语法示例
- Selenium Webdriver——操作隐藏的元素(三)switchTo().frame()
- TCP/IP / 网关 IP 和 DNS 服务器 IP 为什么可以一样?
- 浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
- mysql数据库check命令_利用mysqlcheck命令快速修复mysql数据库
- 怎么隐藏滚动条又能滚动
- 求正整数N(N1)的质因数的个数,相同的质因数需要重复计算(java)
- VLFeat-----mean sift开源库【配置】【转载】
- Redis数据结构04-SortedSet
- Spring Boot Mybatis 搞反向工程,太方便咯。。
- 7个和尚_一位高僧对世俗问题的7个回答,非常绝妙!
- 分享谷歌SEO的32个实用关键词拓展工具
- 世界读书日 | 技术人不要错过的好书(IT前沿技术)
- python 获取邮箱验证码
- java动态生成pdf 合并两个pdf文件功能三
- 一个有趣的模型组合预测模型
- hdu 5312 打表加特判
- 教你一招搞定 Homebrew 下载加速!
- vids:xvid解码器_解码CSS位置:Paul O'Brien的大师班
- 统计信号处理基础 习题解答1-3
热门文章
- ajax请求时设置cookie,如何在JavaScript中使用AJAX请求设置Cookie值?
- [BJOI2019]奥术神杖——AC自动机+DP+分数规划+二分答案
- docker启动容器失败解决
- 7月31日科技联播:AI助手智商测评Siri进步最大,无人驾驶打车服务已在美国试行...
- 搭建 Vue + Vite 入门项目
- 2022年游戏:今年所有新的和即将到来的游戏
- Docker 环境准备好这些,工作就完成了一半
- linux自定义安装docker版本
- c语言 getopt函数,C - getopt函数
- SQL注入检测模块开源项目DRUID-SQL-WALL学习小结