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

一、前言

​ 在我们日常工作中,可能会遇到需要将请求返回的数据写入到文件中。在我们使用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();

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

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

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

相关推荐
古人诚不我欺9 小时前
jmeter常用配置元件介绍总结之分布式压测
分布式·jmeter
綦枫Maple15 小时前
Jmeter基础篇(22)服务器性能监测工具Nmon的使用
运维·服务器·jmeter·性能监控·nmon
古人诚不我欺16 小时前
jmeter常用配置元件介绍总结之线程组
java·开发语言·jmeter
惜.己16 小时前
Jmeter中的监听器(一)
测试工具·jmeter·1024程序员节
我非夏日1 天前
JMeter进阶篇
jmeter
惜.己1 天前
Jmeter中的配置原件(三)
功能测试·测试工具·jmeter·1024程序员节
綦枫Maple1 天前
Jmeter基础篇(23)TPS和QPS的异同
数据库·jmeter·oracle
惜.己1 天前
Jmeter中的配置原件(二)
测试工具·jmeter·1024程序员节
我非夏日1 天前
JMeter项目实战
jmeter
川石课堂软件测试1 天前
性能测试|JMeter接口与性能测试项目
javascript·数据库·python·jmeter·单元测试