Jmeter如何获取jtl文件中所有的请求报文详解
前言
大家都知道Jmeter运行测试可以产生jtl文件,里边包含了整个脚本的请求返回以及各种设置。近期遇到一个问题给大家分享下,就是作为性能测试组,从自动化测试组中拿到了一堆jtl文件,需要自己提取其中的请求报文。
用Jmeter打开jtl文件可以看到,请求报文是xml报文,显示如下图:

把jtl文件改为txt文件,打开看到如下图:

内容还是比较多的,有N个请求,应该怎么提取呢,有Java基础的朋友应该可以使用代码直接提取,本人没有去实现,应该难度不是很大。那对于测试比较熟悉的我们,怎么使用jmeter工具来提取呢?
我的思路是这样的:
1.把原本的jtl文件只能在查看结果树的请求中看到报文,转变为使用BeanShell发送请求,可以在查看结果树返回中看到所有的结果。


2.在查看结果树中,已经可以看到响应了,返回的是全部的原jtl文件内容,提取其中的报文就可以使用正则表达式,边界值提取器,得到自己想要的了,确定好请求的左右边界,匹配数字写-1,就是可以获取全部符合要求的报文了。
简单来讲,就是把jtl文件后缀改为txt,在jmeter中使用beanshell取样器中写代码,读取文件,并把读取结果放到Jmeter变量中,使用调试取样器就可以看到结果。

3.这个时候获取data数据,不能简单使用${data}了,可以看做是综合的结果,获取时需要使用到ForEach控制器,因为多个jtl不能确定里边有多少个请求需要提取,所以循环的结束字段${data_matchNr}。

4.最后一步,获取变量并输出,因为之前输出时xml格式的报文进行了转义,这边做了一个还原,使用lang3包中的固定方法就可以实现,代码如下:

最终输出的txt文件,换行符隔开,可自行调整,然后用于性能测试脚本参数化,如下:

jtl文件较多,要进行路径参数化,把整个脚本内容放在一个事物控制器中,防止多线程下,获取到不同的结果,运行设置相应多的线程处理就可以了。
总结
到此这篇关于Jmeter如何获取jtl文件中所有的请求报文的文章就介绍到这了,更多相关Jmeter获取jtl中请求报文内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot3.x版本集成log4j遇到Logging system failed to initial
使用Springboot 3.x集成Log4j时可能会遇到版本冲突的问题,这通常可以通过检查Maven依赖树来识别,一旦发现冲突,将Log4j的版本统一更新到最新的兼容版本,例如2.21.1,即可解决问题,此方法有效解决了日志打印错误,是处理类似问题的一个实用参考2024-09-09
SpringBoot整合SpringSecurityOauth2实现鉴权动态权限问题
这篇文章主要介绍了SpringBoot整合SpringSecurityOauth2实现鉴权-动态权限,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-06-06
在SpringBoot项目中使用Java8函数式接口的方法示例
在Spring Boot项目中,Java 8 的函数式接口广泛用于实现各种功能,如自定义配置、数据处理等,函数式接口在Spring Boot中非常有用,本文展示了在SpringBoot项目中使用Java8的函数式接口的方法示例,需要的朋友可以参考下2024-03-03
SpringBoot自定义Starter与自动配置实现方法详解
在Spring Boot官网为了简化我们的开发,已经提供了非常多场景的Starter来为我们使用,即便如此,也无法全面的满足我们实际工作中的开发场景,这时我们就需要自定义实现定制化的Starter2023-02-02


最新评论