背景
有一个需求,需要调用图片上传接口,上传10万张图片,并将接口返回的图片标识保存。首先想到的是可以通过java代码来实现,但太浪费时间。然后又想到或许可以通过JMeter的BeanShell来实现,方便快捷且简单。
操作步骤
1.添加一个HTTP请求录入接口请求信息
2.添加一个JSON提取器,提取响应中对应参数值
被测接口响应结果如下:
{
"msg": "成功",
"code": 200,
"data": {
"id": "MzAyMDZGQ0RGMEExM0E2MDkwM5"
}
}
JSON提取器配置如图所示:

3.添加一个调试取样器,查看提取结果

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

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
FileWriter fstream=null;
BufferedWriter out=null;
try{
fstream=new FileWriter("F:\\imageID.csv",true);
out=new BufferedWriter(fstream);
out.write(vars.get("id")+"\n");
}
catch (IOException e) {
e.printStackTrace();
}
finally{
try {
if(out!=null)
{
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(fstream!=null){
fstream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
5.查看保存到本地的数据

6.线程组中设置线程数
通过前面的1-5步调通了脚本后,就可以在线程组中设置线程数,批量调用接口,完成10万张图片的上传

4265






