news 2026/8/21 21:04:21

【JMeter】使用BeanShell写入内容到文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【JMeter】使用BeanShell写入内容到文件

一、前言

​ 在我们日常工作中,可能会遇到需要将请求返回的数据写入到文件中。在我们使用JMeter进行性能测试时,就经常能够遇到这种情况。要想达到这种目的,我们一般采取BeanShell后置处理器来将内容写入到文件。

二、提取

​ 在目前大多数的性能测试中,都是以JSON形式返回结果。因此我们这边以JSON提取器为例进行提取。

先来介绍下JSON提取器吧

  • Main sample and sub-samples:匹配范围包括当前父取样器并覆盖子取样器

  • Main sample only:匹配范围是当前父取样器(最常用的一种情况)

  • Sub-samples only:仅匹配子取样器

  • JMeter Variable Name to use:支持对 Jemter变量值进行匹配

  • Names of created variables:变量名

  • JSON Path expressions:我们需要提取的JSON值对应位置

  • Match No.:0 代表随机取值,n取第几个匹配值,-1匹配所有

  • Compute concatenation var:如果找到许多结果,则插件将使用’,‘分隔符将它们连接起来,并将其存储在名为 _ALL的var中

  • Default Value:如果参数没有取得到值,那默认给一个值让它取

三、写入

​ 到了这里就要开始写脚本了哦,这里我们直接上代码,根据提取的数据不同,我们的脚本也不同(这里就比较考验大家的思维了),在这里我们有一点需要注意,JMeter脚本在执行时,会先检查csv文件是否存在,不存在会报错,所以需要先手动创建一个文件在目录下先,内容可以为空

java

import java.io.*; FileWriter fstream = new FileWriter("E:\\stuId2.csv",true); // true表示追加模式 BufferedWriter out=new BufferedWriter(fstream); var num=vars.get("stuId_matchNr"); // 获取JSON提取器中提取的数据 for(int i=1;i<=(Integer.parseInt(num));i++){ log.info(vars.get("stuId_"+i)); out.write(vars.get("stuId_"+i)+"\n"); // 写入数据到csv中并换行 } out.close(); fstream.close();

这样就提取到了我们需要的数据了,进而可以将数据运用到我们的待测脚本中进行参数啊

以上就是这节的全部内容,如有错误,还请各位指正!

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 17:57:39

常见性能测试类型的优缺点

一&#xff1a;性能测试 优点 确定应用程序的速度、可扩展性和稳定性特征,从而为作出明智的业务决定提供依据。 重点在于确定系统的用户是否会满意应用程序的性能特征。 识别与性能相关的期望和现实之间的差异。 支持调优、容量规划和优化工作。 缺点 在负载下可能检测不…

作者头像 李华
网站建设 2026/8/21 15:52:46

如何快速掌握SMUDebugTool:AMD Ryzen处理器调优的终极指南

如何快速掌握SMUDebugTool&#xff1a;AMD Ryzen处理器调优的终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…

作者头像 李华
网站建设 2026/8/21 0:14:49

如何快速掌握WeiboSpider:微博数据采集的完整指南

如何快速掌握WeiboSpider&#xff1a;微博数据采集的完整指南 【免费下载链接】WeiboSpider 持续维护的新浪微博采集工具&#x1f680;&#x1f680;&#x1f680; 项目地址: https://gitcode.com/gh_mirrors/weibo/WeiboSpider 想要轻松获取新浪微博的用户信息、推文内…

作者头像 李华
网站建设 2026/8/21 6:12:22

PPTTimer:重新定义演讲时间管理的智能悬浮助手

PPTTimer&#xff1a;重新定义演讲时间管理的智能悬浮助手 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 还在为演讲超时而焦虑吗&#xff1f;想象一下这样的场景&#xff1a;你正在台上激情演讲&#xff0c;…

作者头像 李华
网站建设 2026/8/21 16:07:11

同花顺问财数据获取终极指南:Python自动化工具完整教程

同花顺问财数据获取终极指南&#xff1a;Python自动化工具完整教程 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 想要快速获取A股市场数据却苦于手动查询的繁琐&#xff1f;pywencai正是你需要的Python自动化工…

作者头像 李华
网站建设 2026/8/21 4:29:44

Jellyfin Android TV版自动播放下一集功能失效分析与修复

Jellyfin Android TV版自动播放下一集功能失效分析与修复 【免费下载链接】jellyfin-androidtv Android TV Client for Jellyfin 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-androidtv 问题背景 在Jellyfin Android TV客户端0.17.7版本更新后&#xff0c;用…

作者头像 李华