随笔 - 321  文章 - 0  评论 - 6  阅读 - 34万

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文件:

 

posted on   该用户很懒  阅读(1030)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-03-30 linux的python3 环境配置
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示