news 2026/6/17 6:02:24

【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/6/17 8:53:59

完整AMD性能优化指南:SMUDebugTool让你的处理器发挥极致潜能

完整AMD性能优化指南&#xff1a;SMUDebugTool让你的处理器发挥极致潜能 【免费下载链接】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. 项目地址: http…

作者头像 李华
网站建设 2026/6/15 4:32:31

5分钟搞定!PPTTimer悬浮计时器:演讲时间管理的终极解决方案

5分钟搞定&#xff01;PPTTimer悬浮计时器&#xff1a;演讲时间管理的终极解决方案 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 还在为演讲超时焦虑不安&#xff1f;每次演示都像在和时间赛跑&#xff1f;P…

作者头像 李华
网站建设 2026/6/13 3:36:09

CH340芯片USB转串口驱动安装:新手教程(零基础必看)

CH340驱动安装全攻略&#xff1a;从零开始搞定USB转串口&#xff08;新手也能一次成功&#xff09; 你有没有遇到过这种情况&#xff1a;手里的开发板插上电脑&#xff0c;结果“设备管理器”里冒出来一个带黄色感叹号的“未知设备”&#xff1f;或者明明连上了&#xff0c;串口…

作者头像 李华
网站建设 2026/6/15 7:26:12

NCM解密终极指南:从加密困境到自由播放的全流程解决方案

NCM解密终极指南&#xff1a;从加密困境到自由播放的全流程解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经在网易云音乐购买了心爱的歌曲&…

作者头像 李华
网站建设 2026/6/17 12:02:30

cp2102 usb to uart bridge controller入门必看:手把手配置教程

手把手带你玩转 CP2102&#xff1a;从零开始配置 USB 转串口通信 你有没有遇到过这样的情况——手里的开发板、传感器或单片机项目需要通过串口调试&#xff0c;但笔记本却连一个 RS-232 接口都没有&#xff1f;别担心&#xff0c;这几乎是每个嵌入式工程师和电子爱好者的“入…

作者头像 李华
网站建设 2026/6/16 18:28:52

SMUDebugTool终极指南:5步掌握AMD Ryzen处理器硬件调试

SMUDebugTool终极指南&#xff1a;5步掌握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://g…

作者头像 李华