JMeter脚本-文件下载

前期因为对JMeter了解不多,近期因为项目的原因对JMeter疯狂吸收,以前经常性做的都是查看、登录、查询、删除等比较基本的操作,今天接触了文件下载,从用户角度来说如果我要下载个文件选择路径后点击下载就好了,但是工具是不能直接实现下载文件到哪个位置的,这需要我们借助些脚本来实现。以下面的脚本为例:

通过下载接口下载docx文件,发送请求后发现response中可以返回正常的数据大小,但是数据格式都是以二进制体现出来的,至于里面具体是什么东西是看不到的。

接下来要做的就是将从服务器返回的数据转换为实际的文件并存储到计算机上的某个位置。

Beanshell取样器

BeanShell取样器为一个小型的Java解释器,当我们在进行比较复杂的操作时就可以通过编写脚本去实现想要的功能。在线程-sampler下添加BeanShell取样器后,使用在java语言中常见的数据流输出程序实现文件的下载

byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
<br>
String file_name = “Z:/lj.docx”; //代表存放文件的位置和文件名
<br>
File file = new File(file_name);
<br>
FileOutputStream out = new FileOutputStream(file);//将输出数据流写入到文件后关闭输出
<br>
out.write(result);
<br>
out.close();

然后再次请求就可以看到请求到的数据已经被转换成了文件并保存至本地了。