使用jmeter压测批量下载文件

此次是压测一个下载文件的接口,使用的工具是badbody+jmeter.

1.先使用badbody录制从登录到下载的步骤;录制完成后单击file–Export to jmeter,导出成功后,在jmeter中打开此文件;

2.将录制脚本中的js、jpg等请求禁用或删除;(其他的http请求,查看之后如果看到是没有参数的,直接禁用或删除就可以了)

3.为请求添加响应断言和断言结果;此处我的响应断言是success,依据是开了f12,在Network中查看第一条响应中的内容选取的字段;

使用jmeter压测批量下载文件
使用jmeter压测批量下载文件

4.在登录时候需要cookie时候一定记得选择跟随重定向,虽然这里我分的还不是很清楚,但是这样选就没错啦!(自动重定向不能传递cookie和头信息。跟随重定向将最后一个子请求的响应结果作为主请求的响应结果。跟随重定向的结果树可能有几个步骤的请求,只有最后一步才是展示有cookie的,所以看到no cookie 不要慌张)

使用jmeter压测批量下载文件

5.BeanShell取样器的代码

import java.io.*;

byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回

String file_name = “E:\new\” + System.currentTimeMillis() + “.zip”; //上一行代表存放文件的位置和文件名,将每次下载的文件都放在不同名称的zip压缩包内(因为我这里每次下载的都是相同文件会被覆盖所以这样处理的)

File file = new File(file_name);

FileOutputStream out = new FileOutputStream(file);

out.write(result);

out.close();

这样整个流程就结束了,回头看到不对的会补充修改的,如果有那里理解的不对也欢迎评论区指点呀~