Jmeter 采用Jsr223和beanshell将接口获得结果写入到文件

本文介绍如何从特定接口的响应中提取所需参数,并使用JSR223和Beanshell将这些数据写入到本地文件中。示例代码展示了整个过程,包括设置文件路径和写入操作。

实现将如下接口的响应参数中提取部分值,url并写入到文件

1、有如下接口

2、添加JSR223   如图

3、添加beanshell 写入到文件

FileWriter fstream = new FileWriter("E:\\vouch.txt",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("GetJson") + "\n");
out.close();
fstream.close();

 

### 在JMeter中将结果树的错误数保存到文件的方法 在JMeter中,可以通过脚本或配置实现将结果树中的错误数保存到文件。以下是具体方法: #### 方法一:使用Beanshell脚本 可以使用Beanshell脚本来获取结果树中的错误数,将其写入文件。以下是一个示例代码: ```java import java.io.FileWriter; import java.io.BufferedWriter; // 获取错误样本数量 int errorCount = Integer.parseInt(vars.get("errors")); // 指定存储路径 String filePath = "D:\\Program Files\\apache-jmeter-5.1.1\\error_count.txt"; // 创建文件写入对象 FileWriter file = new FileWriter(filePath, true); BufferedWriter out = new BufferedWriter(file); // 写入错误数 out.write("Error Count: " + errorCount + "\r\n"); // 关闭流 out.close(); file.close(); ``` 上述代码通过`vars.get("errors")`获取错误样本的数量,将其写入指定的文件[^1]。 #### 方法二:使用监听器自定义配置 JMeter提供了多种监听器来记录测试结果。可以使用“汇总报告”或“查看结果树”监听器,结合CSV输出功能保存错误数。 1. **启用“保存响应到文件”功能**: 在线程组中,勾选“保存响应到文件”选项,设置文件路径。 2. **自定义CSV输出字段**: 编辑`jmeter.properties`文件,找到`sample_variables`属性,添加自定义变量(如`errors`)。然后运行测试,JMeter会将这些变量值保存到CSV文件中[^2]。 3. **后处理脚本**: 使用外部脚本(如Python或Shell)解析生成的CSV文件,提取错误数保存到单独的文件中。 #### 方法三:使用JSR223 PostProcessor JSR223 PostProcessor支持更灵活的脚本编写。以下是一个Groovy脚本示例: ```groovy import java.io.FileWriter; import java.io.BufferedWriter; // 初始化错误计数器 if (!vars.containsKey("errorCount")) { vars.put("errorCount", "0"); } // 判断当前样本是否为错误 if (prev.getResponseCode() != "200") { int count = Integer.parseInt(vars.get("errorCount")); count++; vars.put("errorCount", count.toString()); } // 写入文件 String filePath = "D:\\Program Files\\apache-jmeter-5.1.1\\error_count.txt"; new File(filePath).append(true) << "Error Count: " + vars.get("errorCount") + "\r\n" ``` 此脚本会在每次采样后检查响应码,若为错误则更新计数器结果追加到文件中[^4]。 --- #### 注意事项 1. 确保文件路径正确且具有写权限。 2. 如果需要实时更新文件内容,建议使用`BufferedWriter`以提高性能。 3. 对于大规模数据,推荐使用CSV格式以便后续分析。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值