jmeter-控制器下遍历一组参数-创新互联

概述

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

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的祁连网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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

涉及元件

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://pwwzsj.com/article/csghjp.html