jmeter监听器大家都会用,但我这个妙招能让你提早一小时下班!

news2024/11/16 13:25:55

使用过 jmeter 的同学,应该都会使用监听器,在每个监听器中,都会有一个“所有数据写入一个文件”的功能,那这个功能应该怎么用呢?今天,我们就来讲讲这个功能的使用。

图片

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

那对于这个监听器都带有的功能,到底该怎么用呢?

点击“浏览”按钮,会弹出系统的文件选择窗口

图片

我们可以从弹窗的文件类型中看到,支持的文件类型有三种:XML、jtl、CSV。

其实,jmeter 还支持一种:.db 只是,这种类型很少被用了。

也就是说,我们选择写入的文件类型有三种选择。其中,CSV 是 jmeter 目前版本默认的。可以在jmeter.properties文件中,找到

“jmeter.save.saveservice.output_format=”参数的值。

自己选择一个路径,可以选择一个已经存在的文件,也可以自己创建一个空文件,不过,建议使用空文件,因为,在jmeter默认参数配置时,

"resultcollector.action_if_file_exists=ASK",如果文件已经存在,就会弹窗提示。

图片

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

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

timeStamp   elapsed label   responseCode    responseMessage threadName  dataType    success failureMessage  bytes   sentBytes   grpThreads  allThreads  URL Latency IdleTime    Connect

字段信息
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 文件。

好了,对于 jmeter 生成文件,你学会了吗?

 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

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

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

相关文章

LTD239次升级 | 可答题获取优惠券 • 官微中心菜单可折叠• 分享页表单客户可显示分享来源

1、新增答题获取优惠券应用 2、官微中心支持左侧菜单折叠、批量上传可设置排序值 3、分享页表单客户可显示分享来源 4、iOS App支持设置名片卡片图片 5、新增一款产品列表展示模块 01 网站应用 新增答题获取优惠券应用 本次升级中,新增了一款答题获取优惠券的小程序…

MAC钓鱼并Root权限上线CS并权限维持,以及所有的坑如何解决

本文转载于:https://www.freebuf.com/articles/web/350592.html 作者:文鸯涂鸦智能安全实验室 制作MAC 一、下载工具 首先从github上下载CrossC2。链接:https://github.com/gloxec/CrossC2/releases/tag/v3.1.0。 根据你CS客户端的操作系统选…

基于 BEM 规范实现简单的 全局 scss

前言 BEM 是 css 常用的命名规范BEM :block(块)、 element(元素)、 modify(修饰符)以 namespace-block__element、namespace-block---modify 格式为例(namespace 一般是 ui 库的前缀,如 element-ui 的 el 前缀)scss 的使用请参考…

计算机竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…

驱动 day4

通过字符设备驱动分步注册方式编写LED灯的驱动&#xff0c;应用程序使用ioctl函数编写硬件控制 mycdev.c #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/cdev.h> #include <linux/device.h> #inc…

【中文竞技场】大模型深度体验与测评

简介&#xff1a;本次&#xff0c;我深入体验了中文竞技场中的大语言模型&#xff0c;尝试了写作创作、代码编写和中文游戏三个领域&#xff0c;以下是我详细的评测报告。 一、开篇 在科技日新月异的今天&#xff0c;中文竞技场提供了一系列大模型供我们体验。涉及的领域包括写…

HLS实现FIR低通滤波器+System Generator仿真

硬件&#xff1a;ZYNQ7010 软件&#xff1a;MATLAB 2019b、Vivado 2017.4、HLS 2017.4、System Generator 2017.4 1、MATLAB设计低通滤波器 FPGA系统时钟 50MHz&#xff0c;也是采样频率。用 MATLAB 生成 1MHz 和 10MHz 的正弦波叠加的信号&#xff0c;并量化为 14bit 整数。把…

也许你正处于《孤注一掷》中的“团队”,要留心了

看完这部电影&#xff0c;心情久久不能平静&#xff0c;想了很多&#xff0c;倒不是担心自己哪天也成为“消失的yaozi”&#xff0c;而是在想&#xff0c;我们每天所赖以生存的工作&#xff0c;跟电影里他们的工作比&#xff0c;差别在哪里呢&#xff1f; 目录 1. 产品的本质…

【UniApp开发小程序】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】

文章目录 界面效果界面实现工具js页面日期格式化 后端收藏ControllerServicemapper 评论ControllerServiceMapper 商品Controller 阅读Service 界面效果 【说明】 界面中商品的图片来源于闲鱼&#xff0c;若侵权请联系删除 【商品详情】 【评论】 界面实现 工具js 该工…

即拼七人拼团模式怎么玩?如何留存消费者?

如今&#xff0c;流量稀缺&#xff0c;任何流量都需要付出一定的成本&#xff0c;商家做私域亦是如此。我们能做的就是降低预算&#xff0c;探索属于自己的方法。如何进行私域引流&#xff1f; 现阶段&#xff0c;新消费品牌提升品牌力的关键就在于构建品牌与消费者之间的信任关…

大家gobigger连接后不能调亮度(亮度不能保存)解决办法

关于gobigger连接后不能调亮度&#xff0c;会不会感觉是gobigger很爽的一点&#xff1f;其实不是&#xff0c;可以通过以下方法解决。如果解决你的问题给记得点赞&#xff0c;感谢支持。 现象&#xff1a; 数据线连接后&#xff0c;用滚轮调节亮度到最高点&#xff0c;当时是很…

JavaWeb+JSP+SQL server学生学籍管理系统设计与实现(源代码+论文+开题报告+外文翻译+答辩PPT)

需求分析 本系统主要是针对各个高校的学生学籍进行管理&#xff0c;系统满足以下几点要求&#xff1a; 系统安全性。由于此系统中的操作都是由用户操作的&#xff0c;所以对于用户的权限设置比较严格。对于数据库&#xff0c;设置了不同用户的权限&#xff0c;不同权限进入不…

前端下载文件的几种方式使用Blob下载文件

前端下载文件的几种方式 使用Blob下载文件 在前端下载文件是个很通用的需求&#xff0c;一般后端会提供下载的方式有两种&#xff1a; 1.直接返回文件的网络地址&#xff08;一般用在静态文件上&#xff0c;比如图片以及各种音视频资源等&#xff09; 2.返回文件流&#xff08;…

UE5.2 LyraDemo源码阅读笔记(五)输入系统

Lyra里使用了增强输入系统&#xff0c;首先知道增强输入系统里的三个类型配置。 一、Input Actions (IA)&#xff1a; 输入操作带来的变量&#xff0c;与玩家的输入组件绑定&#xff0c;回调里驱动玩家行为。 二、InputMappingContext&#xff08;IMC&#xff09;&#xff1a…

批量删除文件名中特定文字的方法

怎么批量删除文件名中特定文字&#xff1f;作为一个上班族&#xff0c;在电脑上进行批量文件名称的修改是一个非常常见的事情。如果你有大量的图片、视频、音乐和其他文件&#xff0c;希望批量删除文件名中的特定文字&#xff0c;那么不妨看看下面的介绍&#xff0c;并尝试使用…

制定设备维护管理计划时需要考虑的不同维护策略

在现代企业运营中&#xff0c;保障关键资产的稳定运行对于实现高效生产和客户满意度至关重要。然而&#xff0c;如何制定适合企业的设备维护管理计划却是一个需要深入思考和策划的重要问题。不同类型的维护策略可以满足不同的运营需求和预算限制。在本文中&#xff0c;我们将探…

142亿亿次/秒?长安汽车与百度达成战略合作,推动智能低碳出行

8月17日&#xff0c;重庆长安汽车股份有限公司与百度正式达成战略合作协议&#xff0c;双方将在多个领域展开深度合作&#xff0c;包括云计算、人工智能、大数据和物联网。这一合作旨在推动长安汽车向智能低碳的出行科技公司转型。 据悉&#xff0c;双方还共同建立了长安汽车智…

时序数据库influxdb笔记

官方资料 https://docs.influxdata.com/influxdb/v2.7/install/?tLinux https://www.influxdata.com/influxdb/ 安装 1、linux平台下 1&#xff09;下载 2&#xff09;解压 3&#xff09;添加账户&#xff08; adduser influx&#xff09; 4&#xff09;设置目录权限 5…

NodeJs导出PDF

&#xff08;优于别人&#xff0c;并不高贵&#xff0c;真正的高贵应该是优于过去的自己。——海明威&#xff09; 场景 根据订单参数生成账单PDF 结果 示例代码 /* eslint-disable no-unused-vars */ /* eslint-disable no-undef */ /* eslint-disable complexity */ const…

忘记LockSupport怎么用了?那我们举个有趣的小例子,永远记住它!

概述 LockSupport是一个非常方便实用的线程阻塞工具&#xff0c;它可以在线程内任意位置让线程阻塞。和Thread.suspend()相比&#xff0c;它弥补了由于resume()在前发生&#xff0c;导致线程无法继续执行的情况。和Object.wait()方法相比&#xff0c;它不需要先获得某个对象的…