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 10:52:35

压电薄膜电性能检测项目及压电薄膜核心应用场景

压电薄膜作为一种将机械能与电能相互转换的智能材料&#xff0c;其电性能检测是评估其在传感器、能量收集及执行器领域应用可靠性的核心环节。根据最新的行业标准与科研实践&#xff0c;以下是该领域的关键检测项目体系。压电系数&#xff1a;核心指标衡量薄膜将机械能转化为电…

作者头像 李华
网站建设 2026/8/20 14:33:29

Jellyfin Android TV客户端:打造终极免费的家庭影院解决方案

Jellyfin Android TV客户端是一款专为智能电视和机顶盒设计的开源媒体播放应用&#xff0c;让您轻松构建完整的家庭媒体中心。作为Jellyfin生态系统的重要组成部分&#xff0c;这款应用为大屏设备提供了流畅的媒体浏览和播放体验&#xff0c;完全免费且无广告干扰。 【免费下载…

作者头像 李华
网站建设 2026/8/21 10:32:08

IOC(控制反转)和DI(依赖注入)详解

一、IOC容器 链接&#xff1a;IOC与DI的详解来源 注意&#xff1a;上个文章里面带过了就不写了 1.这是启动类代码&#xff08;放在当前启动类所在包下才能扫描完&#xff09; package com.itheima.springbpptweb01;import org.springframework.boot.SpringApplication; impor…

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

字节同事问我:我的Postman为什么连不了数据库?

postman本身没有数据库连接功能&#xff0c;所以用到了node.js中的xmysql实现Rest API的生成&#xff0c;利用postman进行请求&#xff0c;获取需要的数据&#xff0c;来做数据准备或断言。 1 安装 安装node.js&#xff1a;要求版本大于等于7.6 首先保证你的环境上有node.js…

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

深度解锁AMD Ryzen潜能:SMUDebugTool硬件调试实战指南

深度解锁AMD Ryzen潜能&#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. 项目地址: https://gi…

作者头像 李华
网站建设 2026/8/20 0:40:32

Alienware设备管理终极指南:从基础配置到专业调优

Alienware设备管理终极指南&#xff1a;从基础配置到专业调优 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 在追求极致性能与个性化表达的Alienware用…

作者头像 李华