jmeter基础之保存响应数据到文件
关于如何记录jmeter压测过程中出现的偶现错误请求的response,主要是两种思路,一种将response保存到本地文件,一种是将response发送到远程,如kafka、es、mysql等等
如果是mysql的话,可以使用jdbc processer,如果是kafka或者es,可以用beanshell脚本,具体beanshell的使用看下文转载内容中的使用样例,样例中给的是beanshell保存到本地文件的实现
转载 https://cloud.tencent.com/developer/article/1833093
关于此功能主要运用于非GUI模式下执行脚本的响应查看,以便于帮助我们更好的判断脚本的执行情况。
关于保存响应到文件jmeter存在多种方式,大致分两类jmeter自带插件和beanshell脚本编写,本章节将介绍这两种方式保存数据!
保存响应到文件
添加监听器-->保存响应到文件

观察保存响应到文件配置页面:

配置页面参数介绍:
- Save Successful Responses only:仅保存成功响应
- Save Failed Responses only:仅保存失败响应
- Don't save Transaction Controller Sample Result:不保存事务控制器样本结果
- Don'tadd number to prefix:不添加数字到文件前缀
- Don'tadd contenttype suffix:不添加文件的后缀类型
- Add timestamp:添加时间戳到文件前缀
添加http请求后将保存响应到文件配置元件移动到http请求事务下:

运行http请求结果可在D:\test\路径下得到一个response文件:


beanshell脚本
beanshell脚本可使用两种元件,BeanShell PostProcessor后置处理器,Bean Shell Sampler取样器,使用beanshell脚本需要借助一些提取器如json提取器,正则提取器。
BeanShell PostProcessor
http请求下添加正则表达式提取器:


添加beanshell后置处理器并配置相关信息:


源码如下:
FileWriter fileWriter = new FileWriter("D:/test/test.csv", true);
//"D:/test/test.csv" 为本地路径(根据自己路径设置),支持csv和txt格式
BufferedWriter out = new BufferedWriter(fileWriter);
//out.write( vars.get("id")+","+vars.get("id1")+"\n");
out.write( vars.get("id")+"\n");
//其中id和id1等均为正则或jsonpath提取的变量名称如下图所示
//此处展示了一个变量和多个变量的写法,可根据自身实际需要调整
out.close();
fileWriter.close();
运行以上请求可查看结果如下,并在D:\test\路径下得到一个test.csv文件:


Bean Shell Sample
我们来使用beanshell取样器写入文件所有返回的id值,这里我们可以添加一个ForEach控制器,并且修改一下正职提取器的配置:

添加ForEach控制器并配置相关信息:


添加beanshell取样器并配置信息:


源码信息同beanshell后置处理器内容一样,运行请求可观察结果运行了10次,并在
D:/test/路径下生成了一个test.csv文件:


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2020-03-30 linux的python3 环境配置