概述
在接口自动化的过程中,经常遇到需要遍历的参数组。jmeter在中,foreach控制器可以实现遍历参数,但是只能有一个入参。一旦遇到数组,foreach控制器表示我也无能为力。。。
为了解决这个问题,今天教大家一个实现数组遍历的方法
涉及元件
json表达式+循环控制器+计数器+matchNr函数+beanshell脚本
案例分析
首先我们来看一个例子 。在下图中,我们需要把三组返回值中的参数遍历写入本地文件。如省份:人口
首先我们需要把通过JSON Extractor把这三组参数提取出来
观察debug我们可以发现这三组数据都是成对出现的。{name_1,population_1};{name_2,population_2};{name_3,population_3}。总数是通过matchNr函数计算
添加一个循环计数器,循环次数为matchNr。意思就是统计出几组数据,脚本就遍历几次
在循环控制器下面添加计数器,用于指定数据读取的行数。最大值也是matchNr计算得出的数值
在控制器下面添加beanshell脚本,用于将读取的参数遍历写入本地文件。通过计数器的函数嵌套方式,遍历每一组数据,循环写入本地文件。
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();
观察响应结果
写入的本地文件