jmeter练习(5)关联升级版—ForEach控制器(提取多个响应结果并依次传参)
前言:大多数情况下,我们会从上一个请求的响应结果中提取某一个值,作为第二个请求的参数进行传参,但是有时候为了提高测试效率,尽可能制造少的测试数据,我们需要从上一个请求的响应结果中获取某一组相同类型的值作为参数进行传递,此时,应该怎么做呢?
应用场景:
步骤一:首先执行一个全局查询,查询出所有的值;
步骤二:提取出来步骤一的所有值的ID值,并作为参数传递给第二个请求,依次查询每一个ID的详细信息。
解决思路:
思路一:直接使用正则表达式提取器将提取结果直接传给第二个请求;
思路二:把提取的值取出来保存为csv,然后对第二个请求参数化,去读取这个csv的值(尚未研究如何保存提取的值);
思路一解决方案:
1.首先当然是前提步骤,需要执行第一个请求,并查看所有的响应结果:
2.因为第二个请求中,我们需要将上述响应结果中的ID值作为参数进行传递,因此此时需要添加正则表达式提取器将结果进行提取
正则表达式进行如下设置:
此时存在问题:运行完成后,发现第二次请求中参数处取值为null。
或者他永远只能取到响应结果中的第一个值,不能获取所有的值。
这显然不是我们想要的结果,通过与飞测小伙伴沟通后,需要添加一个元件,即ForEach控制器,即可有效结果此问题,因此进行如下改进:
运行后,结果如下:
至此,完美解决我们上述遇到的问题!
操作过程遇到的坑:
坑一:正则匹配有误
响应结果为:
但是正则表达式为:
如此就会匹配出来一些我们不需要的值。
改进:做如下改进,即可获得正确的值:
学习:
坑二:依次读取响应数据,读取失败
改进:添加ForEach控制器解决。
学习:
参数:
Input Variable Prefix:输入变量前缀,本例中为:param
Output variable name:输出变量名称,提供给其它控件引用
Start index for loop(exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
End index for loop(inclusive):循环结束的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
Add””before number:输入变量名称中是否使用“”进行间隔。
注:原创,转载请说明出处!
转载于:https://www.cnblogs.com/diqitian/p/7249895.html
jmeter练习(5)关联升级版—ForEach控制器(提取多个响应结果并依次传参)相关推荐
- Jmeter性能测试之ForEach控制器的使用
本文主要介绍下ForEach控制器的基本用法~ ForEach控制器一般和用户自定义变量一起使用,从用户自定义变量中读取一系列相关的变量.该控制器下的采样器或控制器都会被执行一次或多次,遍历读取不同的 ...
- Jmeter+ForEach控制器+BeanShell取样器+BeanShell PostProcessor爬取网站信息储存csv
1.正则提取器+ForEach控制器+BeanShell PostProcessor+BeanShell 取样器,爬取网站信息并写入到csv中 2.访问网站设置 3.正则提取设置,匹配数字-1代表提取 ...
- 性能测试之JMeter中ForEach控制器详解
1.什么是逻辑控制器 JMeter官网对逻辑控制器的解释是:"Logic Controllers determine the order in which Samplers are proc ...
- Jmeter逻辑控制器之Foreach控制器如何使用多个变量作为输入
ForEach Controller只支持一个变量作为输入,但是有时候我们其它的输入变量也同步随着ForEach Controller中的变量值不同而不同,我们需要使用多个变量作为输入变量. 除了Fo ...
- Jmeter之ForEach控制器(配合正则表达式使用)
在使用正则表达式提取响应信息时,存在部分信息有多个值,为了能使用所有的值,可以结合ForEach控制器使用. 一.界面显示 二.配置说明 1.名称:标识 2.注释:备注 3.输入变量前缀:是指需要提取 ...
- jmeter巧用ForEach控制器
前段时间做接口自动化的时候遇到很多查询接口,接口出参会随着入参type的变化,得到不同type下的数据. 如上图,是接口query_financial_stock的说明.测试时候对入参financia ...
- jmeter 正则获取参数集合和ForEach控制器结合使用(转)
怎么把第一个请求获取的返回的多个id,在第二个请求中逐个以单个id作为请求参数来请求? 为了解决这个问题,模拟下该场景 1.请求www.163.com 主页,获取响应中的所有数字,这个获取的数字集合暂 ...
- jmeter ForEach控制器学习
ForEach控制器在用户自定义变量中读取一系列相关的变量.该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值.所以ForEach总是和用户定义的变量一起使用.下面会以实例的形式介绍 ...
- foreach循环怎么获取全部返回值_jmeter基础逻辑控制器之ForEach控制器
关于jmeter中的逻辑控制器有很多是可以帮助我们在接口测试中解决很多问题的,今天我们来了解一下ForEach控制器,看到这个控制器很多人第一反应是for循环,实际原理也差不多,但是并不等同于jmet ...
最新文章
- Linux-SFTP/SSH免密码登录
- android 上滑隐藏view,Android CoordinatorLayout + AppBarLayout(向上滚动隐藏指定的View)
- 评分较高对鸿蒙文,万倍增幅:鸿蒙至高神,加入诸天万界群
- 简单的Gradle Java插件自定义
- 院士拿布袋领奖归来,朋友圈刷屏了
- [leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列
- 从Preact了解一个类React的框架是怎么实现的(二): 元素diff
- Locating Elements(一)
- [HAOI2007] 修筑绿化带
- HDU 6321(状压dp)
- android多个app音量调节问题,「App 音量控制」依每个 App 的使用需求自动调整音量(Android)...
- 当你灵感枯竭的时候,如何深挖客户需求?采用曼陀罗思考法(5W1H模式),相信你会找到出路
- axio.js封装和环境配置
- Exposure X8标准版图片后期滤镜PS、LR等软件的插件
- python基础学习(一)
- 工作篇 之 解决谷歌地图与 NestedScrollView 滑动冲突
- 年底找工作,怎么解释离职的原因?
- Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)
- LiDAR点云处理软件
- 语音对讲功能在车载监控系统中的应用意义
热门文章
- python pyecharts 折线图_python数据大屏pyecharts库2020.8.31
- nsoutlineview 搜索_阿里巴巴搜索推荐广告三位一体的在线服务体系
- 【Pytorch神经网络理论篇】 02 Pytorch快速上手(二)GPU与CPU张量切换+具有随机值的张量+张量的数学运算
- 网络教育计算机 判断,北京师范大学网络教育计算机作业1、4、8
- LeetCode 1901. 找出顶峰元素 II(二分查找)
- LeetCode 1276. 不浪费原料的汉堡制作方案(解方程)
- LeetCode 91. 解码方法(动态规划)
- LeetCode 1005. K 次取反后最大化的数组和
- LeetCode 1020. 飞地的数量(图的BFS/DFS)
- 12306 抢票项目霸榜 GitHub,标星即将破万