背景
有一个需求,需要将被测接口返回的url保存到本地,url在对象数组中,对象数组的长度在1-31之间,响应体如下图。手动去一个一个复制粘贴效率太低,所以想通过JMeter来实现,使用JSON提取器每次会提取到多个url,那么我们该怎样将多个url分别保存到本地呢?

操作步骤
1.添加一个HTTP请求录入接口请求信息
2.添加一个JSON提取器,提取响应中对应参数值
JSON提取器配置如下:

3.添加一个调试取样器,并调用接口,查看提取结果
如下图,我们可以看到提取到的所有url,其中url_matchNr为提取到的url的个数,后面遍历提取到的数据会用到。

4.添加一个BeanShell后置处理程序,编写脚本

脚本如下:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
FileWriter fstream= null;
BufferedWriter out=null;
try {
fstream = new FileWriter("F:\\url.csv",true);
out=new BufferedWriter(fstream);
int num=Integer.parseInt(vars.get("url_matchNr")); //获取提取到的url的个数
log.info("num为:"+num);
for(int i=1;i<=num;i++) //遍历提取到的数据
{
out.write(vars.get("url_"+i)+"\n");
}
} catch (IOException e) {
e.printStackTrace();
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
fstream.close();
} catch (IOException e) {
e.printStackTrace();
}
5.查看保存到本地的数据

1003

被折叠的 条评论
为什么被折叠?



