在Jmeter中通过正则提取表达器和BeanShell提取器将接口返回的结果写入到指定txt文件中

news2024/9/26 5:15:12

jmeter 把响应结果数据写入到指定文件_jmeter输出返回结果到文件-CSDN博客

上面是参考链接

1、如图所示,需要在jmeter中将所有接口中返回的响应数据写入到指定的文件中

2、选择需要的接口右击-添加-后置处理器-正则表达式提取器;

3、在正则表达式提取器界面中配置提取规则,我这边需要提取接口返回的所有数据,

在要检查的响应字段中选择Body(unescaped)

引用名称输入框填写参数用于后期引用,我这边填写result1;

正则表达式输入(.+)   代表提取全部内容

模板输入$1$

匹配数字输入1

4、接口的正则表达式提取配置完成后需要再添加BeanShell取样器,选择线程组右击-添加-取样器-BeanShell取样器。

5、接下来配置BeanShell取样器,直接在脚本区域内容加入如下代码

//指定需要写入到哪个文件,格式:TXT,csv
//D:\\Program Files\\apache-jmeter-5.1.1需要存储写入文件的路径
//text.txt  指定保存的文件

FileWriter file = new FileWriter("D:\\Program Files\\apache-jmeter-5.1.1\\text.txt",true);

//创建一个字符缓存输出流
BufferedWriter out = new BufferedWriter(file);

//写文件内容
//vars.get:获取 jmeter 中的变量值
//"\r\n"   写入文件时可以换行
//result1  为在正则取样器中定义的引用名称,接口截取的响应结果都存储在result1参数中

out.write("接口1"+vars.get("result1")+"\r\n"+"\r\n"+"接口2"+vars.get("result2")+"接口3"+vars.get("result3")+"接口4"+vars.get("result4"));

//关闭写数据流

out.close();

//关闭文件
file.close();

输入文件结果如下

6、在步骤5中,当需要存储的接口返回参数过多时,可以在正则表达式中为参数编号1~100,然后通过for循环来进入写入 代码如下,有多少个接口反馈的参数,则变量 i  就写为多少。

//指定需要写入到哪个文件,格式:TXT,csv

FileWriter file = new FileWriter("D:\\Program Files\\apache-jmeter-5.1.1\\text.txt",true);

//创建一个字符缓存输出流

BufferedWriter out = new BufferedWriter(file);

//写文件内容

//vars.get:获取 jmeter 中的变量值


for(int i=1;i<=4;i++){

out.write("接口"+i+":\r\n"+vars.get("result"+i)+"\r\n\r\n");
}


//关闭写数据流

out.close();

//关闭文件
file.close();

7、如果在使用过程中BeanShell取样器取样器在结果数返回报错500时则就表示 在配置BeanShell取样器中的脚本区域中的java代码编写有问题,需要仔细查看定位编程错误修改后再运行。

8、如果需要在存储接口文件中记录接口路径则可以将接口路径参数化,然后放入for()循环中调用参数 循环写入。

   8.1  具体配置如下:点击测试计划右击-添加-配置元件-用户定义的变量

8.2  添加组件后,需要将用户定义的变量组件移动到测试计划路径下

 8.3 移动完成后,需要配置变量,将需要的每个接口的值 按照BeanShell取样器中写入的顺序,填写接口路径以及对应的参数名。参数名用统一的后面按顺序编号,如:ULR1、ULR2。

   8.4 配置接口路径参数化后,在BeanShell取样器中脚本区域中的out.write()方法中加上vars.get("ULR"+i)  i  代表参数后的字数,每次循环加1,可以循环读取接口路径参数的值

//指定需要写入到哪个文件,格式:TXT,csv

FileWriter file = new FileWriter("D:\\Program Files\\apache-jmeter-5.1.1\\text.txt",true);

//创建一个字符缓存输出流

BufferedWriter out = new BufferedWriter(file);

//写文件内容

//vars.get:获取 jmeter 中的变量值


for(int i=1;i<=4;i++){

//vars.get("ULR"+i)  为定义的接口路径参数

out.write(vars.get("ULR"+i)+"接口"+i+":\r\n"+vars.get("result"+i)+"\r\n\r\n");
}


//关闭写数据流

out.close();

//关闭文件
file.close();

结果如图所示,可以将接口路径通过参数形式,依次写入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1988902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.mysql-DDL-数据库操作

DDL-数据库操作定义语言 DML-数据库操作语言 DCL-数据库控制语言 DQL-数据库查询语言 DDL-数据库操作 DDL-数据库操作- 查询 查询所有数据 SHOW DATABASES;查询当前数据库 SELECT DATABASE();DDL-数据库操作- 创建 CREATE DATABSE [IF NOT EXISTS] 数据库名 [ DEFAULT CHA…

Haproxy搭建Web群集(群集)

HAProxy是一个使用C语言编写的自由及开放源代码软件&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。 HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上&#xff0c;…

“订单循环激励:企业增长新引擎“

在当今竞争白热化的市场洪流中&#xff0c;如何独辟蹊径&#xff0c;让您的企业成为万众瞩目的焦点&#xff0c;吸引并留住海量用户的心&#xff1f;今天&#xff0c;让我们深入探索一种革命性的营销新策略——“订单循环激励模式”&#xff0c;它不仅能够激发用户的参与热情&a…

【大模型学习】快速下载大模型权重和评估大模型占用显存

一、下载模型 1.1 使用Hugging Face Hub下载模型 首先&#xff0c;我们需要设置环境变量以使用镜像站点加速下载。 主要要先安装相应的函数库&#xff1a; pip install huggingface_hub import os os.environ[HF_ENDPOINT] https://hf-mirror.com from huggingface_hub i…

【Redis】持久化机制最全解析

RDB持久化 RDB全称Redis Database Backup file&#xff08;Redis数据备份文件&#xff09;。通过将Redis数据集的快照保存到磁盘上的二进制文件中来实现。生成 RDB 文件的过程可以通过手动命令或自动触发。 实现原理 开始 BGSAVE&#xff1a; Redis 主进程接收到 BGSAVE 命…

【数据结构】五、树:2.二叉树(完全二叉树、前中后序遍历)

二、二叉树Binary tree 文章目录 二、二叉树Binary tree1.逻辑结构1.1斜树1.2满二叉树❗1.3完全二叉树1.4排序二叉树BST1.5平衡二叉树AVL1.6线索二叉树 2.性质3.存储结构3.1顺序存储3.2链式存储 4.遍历4.1前序遍历4.1.1前序非递归方式 4.2中序遍历4.2.1中序非递归方式 4.3后序遍…

java 解析 PDF OFD 发票 部分文字缺失

1、pdfbox https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox 到这里用最新的版本 最近碰到发票各式各样&#xff0c;千奇百怪&#xff1a;记录其中一个 解析出来是&#xff1a;缺少一个通字 发票好几处都缺少文字&#xff0c;解析出来的是 一个 圆点 原因&…

赋能未来园区:TSINGSEE视频AI智能管理平台如何引领园区管理智慧化转型

一、建设背景 随着经济的不断发展&#xff0c;园区产业集聚发展已成为趋势&#xff0c;园区逐渐成为产业聚集的重要载体。目前&#xff0c;国内现有的大部分园区的管理方式比较粗放、单一&#xff0c;范围局限于安全、环境等方面且不成体系&#xff0c;并且没有覆盖到应急、消…

计算机网络408考研 2014

1 计算机网络408考研2014年真题解析_哔哩哔哩_bilibili 1 111 1 11

电脑怎么格式化清除所有数据

在出售、捐赠或维修电脑之前或需要处理敏感数据时&#xff0c;格式化硬盘并彻底清除所有数据还是很有必要的。本篇文章将详细介绍如何安全、彻底地格式化你的电脑。 一、准备工作 在开始格式化之前&#xff0c;有一些重要的准备工作需要完成。这些步骤为了能帮你顺利进行格式化…

Java并发编程——线程创建的4种常见方式

文章目录 一、继承 Thread 类创建创建线程类1.1 Thread 类解析1.2 使用方法1.3 优缺点 二、实现 Runable 接口创建线程类2.1 Runable 接口解析2.2 使用方法2.3 优缺点 三、使用 Callable 和 FutureTask 创建线程3.1 Callable 接口解析3.2 RunnableFuture 接口解析3.3 Future 接…

CV/NLP【面经】

CV/NLP【面经】 1x1conv的作用多头注意力与普通注意力的区别&#xff1a;过拟合怎么解决随机森林和GBDT的区别决策树是怎么做回归任务的注意力机制参数量和计算量 1x1conv的作用 1.首先我们需要明确卷积的输入输出不是一个平面&#xff0c;而是一个长方体。所以1x1conv实际上对…

CTFHUB-web-RCE-命令注入

开启题目 检查网页显示内容&#xff0c;可以直接看到源代码。大致意思是&#xff1a;检查用户输入的 GET 请求&#xff0c;判断用户是否输入了 ip 信息。如果输入了 ip 信息&#xff0c;则使用用户输入的这个 ip 数据执行一个 shell 命令 "ping -c 4" 。 在输入框中…

C语言----用指针数组构造字符串数组

用指针数组构造字符串数组 实例说明&#xff1a; 本实例实现输入一个星期中对应的第几天&#xff0c;可显示其英文写法。例如&#xff0c;输入“4”&#xff0c;则显示星期四所对应的英文名。 实现过程&#xff1a; (1)打开 Visual C 6.0开发环境&#xff0c;新建一个C源文件…

【Matlab】零阶保持法:连续状态空间方程(含噪声,非线性)离散化处理方法

常用的离散化方法&#xff1a;零阶保持器&#xff08;zero-order hold&#xff0c;ZOH&#xff09;、欧拉法&#xff08;Euler&#xff09;、一阶保持器&#xff08;First-order hold&#xff0c;FOH&#xff09;。最常用的是前两种。 0.零阶保持器&#xff08;ZOH&#xff09…

软文写作必须掌握的技巧有哪些?

现代互联网飞速发展的时代&#xff0c;硬广逐渐变的效果越来越差&#xff0c;而软文推广已经成为网络营销的重要组成部分了&#xff0c;一篇好的软文往往能为你的产品、网站带来意想不到的效果。 用于做营销的软文&#xff0c;我们不能像写普通文章那样随意。一篇优质的软文会让…

AI面试:未来招聘的新常态?

一、引言&#xff1a;招聘变革的序章 在数字化浪潮的推动下&#xff0c;各行各业正经历着前所未有的变革&#xff0c;而人力资源管理作为企业发展的核心驱动力之一&#xff0c;也迎来了其转型升级的关键时刻。传统招聘流程中&#xff0c;简历筛选、初步面试、复试乃至终面&…

AI的IDE:Cursor配置虚拟python环境(conda)

AI的IDE&#xff1a;Cursor配置虚拟python环境&#xff08;conda&#xff09; Cursor是一个AI的IDE&#xff0c;是从VSCode源代码中fork出来的&#xff0c;专注于和AI一起Coding而生。https://www.cursor.com/是官方地址。最近开始逐渐的试用Cursor&#xff0c;之前一直是VSCod…

vue3数字动画插件countup.js

countup.js 是一个轻量级的 JavaScript 库&#xff0c;允许你为网站上显示统计数据或计数器时平滑地动画化数字。CountUp 类被用来创建计数器实例&#xff0c;可以平滑地从一个数值变化到另一个数值。 只是用户视觉更好一些。 1、安装插件 npm i countup.js2、个人是封装了组件…

前端性能优化-用户交互体验优化

前言 本文总结一些常见的用户交互体验优化的方法 骨架屏 使用 loading 图或者是骨架屏&#xff0c;可以一定程度上减少用户等待加载的焦虑感&#xff0c;让用户感觉没有等太久&#xff0c;这就是用户体验级的优化。 PS&#xff1a; 可以利用 webpack 实现骨架屏的自动生成 图…