Jmeter利用beanshell实现文件下载
下载图片
下载文件,就是把某个文件保存到本地。就以这个图片为例:https://xiaochengxu-t.daydaycook.com.cn/701321547290907
文件下载之后保存到什么位置:
需要用到一个BeanShell取样器或者用BeanShell后置处理器
在这里编写java代码来实现文件的保存
流程思路:
1.导包
2.获取接口的返回数据
3.创建一个文件对象
4.创建一个文件流对象,把返回的图片的二进制文件数据写入到文件中
请求方式(因为是获取数据,所以是get请求)、写好下载的地址,由于要把文件保存到咱们本地的,jmeter没有现成的东西可以用,需要写beanshell来实现,把文件保存到本地,具体步骤如下:
1、添加线程组 (右击 测试计划-添加-Threads(Users)-线程组)
2、添加一个http请求(右击 线程组-添加-Sampler-HTTP请求)
3、填写Http请求中的url和路径
4、添加BeanShell Sampler(右击 线程组-添加-Sampler-BeanShell Sampler)
5、编写BeanShell Sample 代码如下:
import java.io.*;//导入文件操作的io包
//读取接口返回的数据
byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
//定义一个文件的路径及名字
String file_name = “/Users/ddc-test/Downloads/baidu.jpg”; //代表存放文件的位置和文件名, 相对路径的话会保存到bin 目录下,且保存的文件名的后缀与原图一致
//创建一个文件对象
File file = new File(file_name);
//创建一个文件流对象
FileOutputStream out = new FileOutputStream(file);
//利用这个文件流对象去写入数据到文件中
out.write(result);
//文件操作完成之后一定要关闭流对象
out.close();
6、添加一个察看结果树(右击 线程组-添加-监听器-察看结果树),查看接口调用结果
再在电脑上打开 BeanShell中写的存放文件的路径,查看下载的图片,与找的原图(上面察看结果数HTTP请求响应数据里的图片)一致
下载excel
以下载模板为例
1、添加线程组 (右击 测试计划-添加-Threads(Users)-线程组)
2、添加一个http请求(右击 线程组-添加-Sampler-HTTP请求)
3、填写Http请求中的url和路径
4、添加BeanShell Sampler(右击 线程组-添加-Sampler-BeanShell Sampler)
6、添加一个察看结果树(右击 线程组-添加-监听器-察看结果树),查看接口调用结果