Jmeter(二十) - 从入门到精通 - JMeter监听器 -下篇(详解教程)

1.简介

  监听器用来监听及显示JMeter取样器测试结果,能够以树、表及图形形式显示测试结果,也可以以文件方式保存测试结果,JMeter测试结果文件格式多样,比如XML格式、CSV格式。默认情况下,测试结果将被存储为xml格式的文件,文件的后缀: ".jtl"。另外一种存储格式为CSV文件,该格式的好处就是效率更高,但存储的信息不如xml格式详细。

2.预览监听器

  首先我们来看一下JMeter的监听器,路径:线程组(用户)->添加->监听器;我们可以清楚地看到JMeter5中共有16个监听器(不包括jp@gc开头的监听器,这个是宏哥安装的插件),如下图所示:

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386      

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click 

如果上图您看得不是很清楚的话,总结了一个思维导图,关于JMeter5的前置处理器类型,如下图所示: 

 

 

通过以上的了解,我们对监听器有了一个大致的了解和认识。下面宏哥就给小伙伴或则童鞋们分享讲解一些通常在工作中会用到的监听器。 

3.常用监听器详解

这一小节,宏哥就由上而下地详细地讲解一下常用的监听器。

3.1 图形结果

图形结果,通过图形展示出本次性能测试数据的分布。 图形结果一般作为聚合报告的分析辅佐

1、我们先来看看这个 图形结果 长得是啥样子,路径:线程组 > 添加 > 监听器 > 图形结果,如下图所示: 

2、关键参数说明如下:

名称:控制器的描述性名称,显示在左边节点上,并用于命名事务 

注释:控制器注释信息,非必填项 

文件名:载入文件名 

Throught:吞吐量,可以理解成TPS(TPS表示每秒通过的事物数,QPS表示每秒查询接口数。jmeter中如果只有单接口,那么TPS=QPS。如果是多接口的混合场景,只有在事物控制器下执行,才能将其理解为TPS)

  • 样本数目。在这里,我们可以把样本数量简单理解成是jmeter一共向服务器发起了多少次请求;

  • 最新样本。jmeter最后一次发送请求的响应时间。单位是毫秒;

  • 平均。所有请求响应时间的平均值。单位是毫秒;

  • 偏离。标准方差,学过统计学的同学应该知道这个概念。如果你对这个概念一无所知也没有关系,偏离越小就代表测试的总体结果与平均值越接近;

  • 吞吐量。被测系统每分钟能处理的请求个数,这是判断服务器性能好坏的重要指标(也可以说是最重要的指标)。在上面的图形结果报表里我们可以看到系统的吞吐量是138.985每分钟,这就代表着系统每分钟可以处理138.985个请求;

  • 中值。就是响应时间的中间值,学术一点中值指的是有50%的值大于这个值,另外50%的值小于这个值。蒙圈了吧?实际上中值指的是如果有9个数,那么我们从小到大排列这些数,排在第5个的数就是这一组数的中值。那么如果有10个数呢?10个数的话第5个和第6个数的平均值就是这组数字的中值;

3.2 JSR223 Listener

JSR223 Listener,允许将JSR223脚本代码应用于示例结果。

1、我们先来看看这个 SR223 Listener 长得是啥样子,路径:线程组 > 添加 > 监听器 > JSR223 Listener,如下图所示: 

 

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空;

Label 取样器别名,如果勾选Include group name ,则会添加线程组的名称作为前缀

# Samples 取样器运行次数

Average 请求(事务)的平均响应时间

Min 请求的最小响应时间

Max 请求的最大响应时间

Std. Dev 响应时间的标准方差

Error % 事务错误率

Throughput 吞吐量 也就是TPS

Received KB/sec 每秒收到的千字节

Sent KB/sec 每秒发送的千字节

Avg. Bytes 响应平均流量

3.3邮件观察仪

邮件观察仪, 如果测试运行从服务器收到太多失败的响应,则可以将邮件程序可视化工具设置为发送电子邮件,这个不错,起到及时通知效果,下面我使用的是163 SMTP进行测试。可以实现。

1、我们先来看看这个 邮件观察仪 长得是啥样子,路径:线程组 > 添加 > 监听器 > 邮件观察仪,如下图所示: 

 

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空;

Message中

From代表,发件人

Address代表 收件人

Success Limit 代表成功次数大于x时发送邮件

Failure Limit 代表失败事务大于4时,发送邮件

SMTP sever

Host 填写邮件服务器名称

Login发件人的邮箱地址

Password 将smtp服务开启,生成授权码当作密码

Connection Security 选择协议

点击TestMail 测试下是否可以发送成功,就可以投入使用了

3.3.1实例

1、新建测试计划,线程组下添加邮件观察仪,如下图所示:

 2、配置好以后,点击“Test Mail”,提示发送邮件成功。如下图所示

3、去收件箱查看,如下图所示: 

 

3.4响应时间图

响应时间图,响应时间图形监听器。有点和我们之前介绍的Aggregate Graph类似

1、我们先来看看这个 响应时间图长得是啥样子,路径:线程组 > 添加 > 监听器 > 响应时间图,如下图所示: 

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空;

2.1 Graph setting 图片设置

2.2 Interval:横坐标的刻度

2.3 Title 标题 默认

2.4 Line setting 线条设置 默认

2.5 Graph size 图片尺寸 默认

2.6 X Axis 横坐标 默认

2.7 Y Aixs 纵坐标

2.8 Scale maximum value 纵坐标长度

2.9 increment scale 纵坐标的刻度 ;Legend 字体设置 默认

  • Interval (ms)                   X轴间隔的时间(以毫秒为单位)

  • Sampler label selection   按结果标签过滤。可以使用正则表达式

  • Title                                 在图表的头部定义图表的标题

  • Line settings                    定义线条的宽度

  • Graph size                       根据当前JMeter窗口大小的宽度和高度计算图形大小。使用“ 宽度”和“ 高度”字段定义自定义大小。单位是像素。

  • X Axis settings                 自定义X轴标签的日期格式

  • Y Axis settings                 为Y轴定义自定义最大值(以毫秒为单位)

  • Legend                            定义图表图例的放置和字体设置

3.5保存响应到文件

保存响应到文件,我们可以看到表格显示的结果与图形结果,看着挺复杂,其实稍微翻译一下就知道,绝大多数都是对图形的设置。

1、我们先来看看这个 保存响应到文件 长得是啥样子,路径:线程组 > 添加 > 监听器 > 保存响应到文件,如下图所示: 

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空;

文件名称前缀:设置响应文件所在路径(路径必须已存在)和文件前缀

Save Failed Responses only:只保存失败的响应

Save Successful Responses only:只保留成功的响应

Don't add number to prefix:不添加数字到文件名前缀

Don't add suffix:不添加文件后缀,即扩展名(注:默认情况下,jmeter会根据服务器返回的结果自动生成合适类型的文件,比如服务器返回json格式的内容,jmter会自动生成.json文件)

Add timestamp:添加时间戳到文件前缀

Minimum Length of sequence number :最小序列号,不填默认从1开始。

3.6 简单数据写入器

简单数据写入器,对用来记录取样器响应结果,不会以图形方式显示。配合NON GUI模式使用。

1、我们先来看看这个 简单数据写入器 长得是啥样子,路径:线程组 > 添加 > 监听器 > 简单数据写入器,如下图所示:         

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空。

3.7用表格查看结果

用表格查看结果,这个listener用来显示每个请求的响应头信息,我觉得它最好用的一点就是可以按先后顺序显示每个请求的开始时间、耗时、响应状态等,方便进行结果分析。

1、我们先来看看这个 用表格查看结果 长得是啥样子,路径:线程组 > 添加 > 监听器 > 用表格查看结果,如下图所示: 

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空。

Sample # : 一个系列号,我们线程用户设置了5,这里就有5个号

Start Time:每个用户的开始时间,我们设置了1秒进5个用户,所以,每个用户进入时间不同,这里精确到毫秒。

Thread Name:线程名称,注意1-1,1-5,第一个1我也不知道表示什么,后面的1到5很好理解,就是用户1到用户5.

Label:就是Http reques的名称

Sampler Time:运行这个Sampler所消耗的时间,有时候也等于Duration time

Status:执行结果标记,成本绿勾,失败红叉。

Bytes:请求的响应文件大小

Sent Byte:发送HTTP请求的数据包大小

Latency:这个字面意思是潜伏时间,不是延迟,暂时不好理解和解释。一个网络术语

Connet Time: 连接到服务器消耗的时间。

3.8 BeanShell Listener

BeanShell Listener,通过BeanShell 监听器可以访问JMeter提供的属性和变量

1、我们先来看看这个 BeanShell Listener 长得是啥样子,路径:线程组 > 添加 > 监听器 > BeanShell Listener,如下图所示: 

2、关键参数说明如下:

Name:名称,可以随意设置,甚至为空;

Comments:注释,可随意设置,可以为空。

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值