全网最详细,Jmeter性能测试数据写入文件(总结)看这篇就够了......


前言

jmeter 性能测试数据写入文件。使用jmeter伙伴,应该都会使用监听器,在每个监听器中,都会有一个“所有数据写入一个文件”的功能,那这个功能应该怎么用呢?

请添加图片描述

几乎所有的监听器都有这样一个功能。

哪对于这个监听器都带有的功能,到底该怎么用呢?
点击“浏览”按钮,会弹出系统的文件选择窗口

请添加图片描述

我们可以从弹窗的文件类型中看到,支持的文件类型有三种:xml、jtl、csv。
其实,jmeter还支持一种:.db 只是,这种类型很少被用了。

也就是说,我们选择写入的文件类型有三种选择。期中,csv是jmeter目前版本默认的。可以在jmeter.properties文件中,找到“jmeter.save.saveservice.output_format=”参数的值。

自己选择一个路径,可以选择一个已经存在的文件,也可以自己创建一个空文件,不过,建议使用空文件,因为,在jmeter默认参数配置时,“resultcollector.action_if_file_exists=ASK”,如果文件已经存在,就会弹窗提示.

请添加图片描述

扫描二维码关注公众号,回复: 14589565 查看本文章

当然,也可以自己修改为“APPEND” 自动追加到文件末尾、“DELETE”自动删除原文件再创建新文件。

默认情况下,csv文件,保存的字段有 (jtl文件也相同)

字段 信息
timeStamp 时间戳 如:1634187509448
elapsed 耗时,单位:ms毫秒
label 取样器名称 如:HTTP request
responseCode 响应代码 如:200
responseMessage 响应消息 如:OK
threadName 线程名称 如:线程组 1-1
dataType 数据类型 如: text
success 成功与否 如:true
failureMessage 失败消息
bytes 样本中的字节数
sentBytes 发送样本的字节数
grpThreads 此线程组中的活跃线程数
allThreads 所有线程组中的活跃线程数
URL 取样器请求地址
Latency 延迟耗时
IdleTime 空闲 时间 单位: ms毫秒
Connect 建立连接的时间

细心的同学,应该从这个图表中可以发现,这个csv中是没有request-body和response-body的,也就是说,请求和响应的一些数据是没有写入文件的。这些数据,主要是在做性能分析生成图表的时候使用的。

哪到底怎么用呢?

如果你使用的是图形界面jmeter,你可以在jmeter中,任意一个监听器中,点击“浏览”,选择你的csv或jtl文件,如你使用“查看结果树” 元件

请添加图片描述

或者使用“聚合报告” 元件:

请添加图片描述

就能看到运行的结果,以及统计分析报告。

但是,因为他是csv文件或jtl文件,还是有一些不足的。首先,csv文件,是不会保存请求体和响应结果相关的数据,所以,在使用“查看结果树” 元件来查看时,request body, request headers,response body, response headers 中都是没有数据的。然后,就是,如果csv文件或jtl文件有大几十M或几百M,在使用“查看结果树” 元件查看时,可能会导致jmeter无响应。

在jmeter5.1.1版本开始,如果你使用的图形界面,你也可以把csv文件或jtl文件,生成html报告。

请添加图片描述

点击第1个“浏览”,选择csv文件或jtl文件,点击第2个“浏览” ,选择jmeterbin文件夹中的jmeter.properties或user.properties文件,点击第3个“浏览”, 选择一个空文件夹,然后点击最底部的 “Gererate report” 按钮,就可以生成html到你选择的空文件夹中。

请添加图片描述

如果,你使用的是无图形界面jmeter,可以使用jmeter -g xxxx.jtl -e -o xxxempty_dict “xxxx.jtl” 可以是你的csv文件也可以是jtl文件, “xxxempty_dict” 就是你把生成html放的空文件夹名称。

默认的csv或jtl文件,没有保存请求体和响应相关数据,那有没有什么办法解决呢?

我们可以通过下面两种方法:
选择一个空的xml文件,然后,点击 “配置”按钮,在弹窗中,选中“Save As XML” “Save Response Data(XML)” “Save Sampler Data(XML)” 三个复选框,然后,点击”完成“

请添加图片描述

这样,请求体和响应相关数据,就都保存到了 xml文件中。

注意:
1、想要保存请求体和响应相关数据,文件必须为xml格式,必须构想Save As XML
2、Save Sampler Data(XML)会保存请求的cookie、请求方法、请求体

也可以选择一个空xml文件,然后,点击 “配置”按钮,在弹窗中,选中“Save As XML” ,点击”完成“, 然后,点击 ”测试计划“中的 ”函数测试模式“

请添加图片描述

用这两种方法生成的xml文件,就都包含了请求体和响应相关数据,在jmeter图形界面中,选择”查看结果树“,点击选择写入文件的浏览,打开xml文件,这个时候,我们查看到请求 和 响应的详细信息。

请添加图片描述

注意:
xml文件不能像csv、jtl文件一样生成html报告,它要生成报告,需要与ant集成。

前面,我们都是讲的在jmeter图形界面中,把数据写入文件,我们也可以通过采用无图形界面的CLI命令来生成csv或jtl文件。

jmeter -n -t xx.jmx -l xxx.jtl -e -o xxxxempty_dict

xx.jmx是jmeter脚本,xxx.jtl或xxx.csv是生成的文件,xxxxempty_dict是结果转换为的html文件。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你有能力去做的事就一定要去做,不要给自己留下任何遗憾,人生最重要的不是所站的位置,而是所朝的方向。

生于忧患,死于安乐。如果你想跨越自己目前的成就,就不能画地自限,而是要勇于接受挑战。对畏畏缩缩的人来说,真正的危险正在于不敢冒险!

为明天做准备的最好方法就是集中你所有智慧,所有的热忱,把今天的工作做得尽善尽美,这就是你能应付未来的唯一方法。

猜你喜欢

转载自blog.csdn.net/shuang_waiwai/article/details/129670537
今日推荐