jmeter-控制器下遍历一组参数

概述

在接口自动化的过程中,经常遇到需要遍历的参数组。jmeter在中,foreach控制器可以实现遍历参数,但是只能有一个入参。一旦遇到数组,foreach控制器表示我也无能为力。。。

我们提供的服务有:成都网站设计、网站建设、外贸网站建设、微信公众号开发、网站优化、网站认证、嘉兴ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的嘉兴网站制作公司

为了解决这个问题,今天教大家一个实现数组遍历的方法

涉及元件

json表达式+循环控制器+计数器+matchNr函数+beanshell脚本

案例分析

首先我们来看一个例子 。在下图中,我们需要把三组返回值中的参数遍历写入本地文件。如省份:人口

jmeter-控制器下遍历一组参数

首先我们需要把通过JSON Extractor把这三组参数提取出来

 jmeter-控制器下遍历一组参数

观察debug我们可以发现这三组数据都是成对出现的。{name_1,population_1};{name_2,population_2};{name_3,population_3}。总数是通过matchNr函数计算

jmeter-控制器下遍历一组参数

添加一个循环计数器,循环次数为matchNr。意思就是统计出几组数据,脚本就遍历几次

jmeter-控制器下遍历一组参数

在循环控制器下面添加计数器,用于指定数据读取的行数。最大值也是matchNr计算得出的数值

jmeter-控制器下遍历一组参数

在控制器下面添加beanshell脚本,用于将读取的参数遍历写入本地文件。通过计数器的函数嵌套方式,遍历每一组数据,循环写入本地文件。

jmeter-控制器下遍历一组参数

FileWriter fstream = new FileWriter("D:\\\参数表.txt",true);
BufferedWriter out =new BufferedWriter(fstream);
out.write(vars.get("name_${num}")+"人口"+":"+ vars.get("population_${num}")+"万");
out.write(System.getProperty("line.separator"));
out.close();
fstream.close();

观察响应结果

 jmeter-控制器下遍历一组参数

写入的本地文件

jmeter-控制器下遍历一组参数

jmeter-控制器下遍历一组参数


文章名称:jmeter-控制器下遍历一组参数
浏览地址:http://hbruida.cn/article/jdjsdp.html