『动善时』JMeter基础 — 32、JMeter察看结果树组件详解
1、察看结果树介绍
在JMeter中编写接口测试脚本的时候,需要进行调试和查看接口的请求结果是否正常,这个时候就可以使用察看结果树组件。
察看结果树组件中展示了每一个取样器请求的结果、请求信息和响应信息。我们可以通过察看结果树组件中的内容,来分析脚本是否存在问题。
提示:查看结果树在负载测试时注意不要使用,因为它会消耗大量资源例如内存和 CPU。我们进行接口功能测试或在测试计划调试验证时使用。
2、察看结果树界面详解
添加察看结果树组件的操作:选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果
。
察看结果树界面,如下图所示:
察看结果树组件内容说明:
(1)通过上图我们能看到的信息
- 先看左侧的结果列表,通常我们会说,执行成功的请求在左侧会显示绿色,执行失败会显示红色。
- 其实,当我们没有加断言时,显示绿色并不一定就是成功了,只代表响应码是200或300系列,显示红色说明响应码是400或500系列。所以要想确定请求返回的是正确的,必须要加上断言,只有断言成功才会显示绿色。
- 在左侧最下面有一个复选框
Scroll automotically?
(自动滚动)。勾选后,当请求很多时,滚动条会自动向下滚动。
(2)取样器结果选项页内容
Thread Name
:线程组名称。Sample Start
:启动开始时间。Load time
:加载时长,这个时间是我们测试常用的时间,也是整个请求的消耗时间,从发送到接收完成全程消耗的时间。Connect Time
:建立链接的时间。Latency
:等待时长,不常用,表示从请求发送到刚开始接收响应时的时间。Size in bytes
:请求头和请求体中数据的数据的大小。Sent bytes
:发送的数据总大小。Headers size in bytes
:请求头中的数据总大小。Body size in bytes
:请求头体中的数据总大小。Sample Count
:发送请求数统计。Error Count
:请求错误统计。Data type ("text"|"bin"|"")
:数据的类型。Response code
:请求的响应码。Response message
:返回响应状态的信息。HTTPSampleResult fields
:HTTP请求结果的附加字段展示。ContentType: text/html; charset=UTF-8
:返回内容的数据格式和编码。DataEncoding: UTF-8
:数据编码。
(3)Raw
和Parsed
选项页说明
默认情况下我们看到的是raw
格式显示数据,也就是以纯文本的形式展示请求中的数据。
我们也可以点击下面的标签,切换到Parsed
形式展示数据,也就是以表格的形式展示数据,这样可以看的更直观更详细一些。
如下图所示:
(4)请求和响应数据选项页
我们在察看结果树组件中最主要查看的就是这部分的内容。
1)请求:
Request Body
选项页:包括请求类型、请求地址、请求体中发送的数据,还有请求发送时所带的Cooike信息等数据。
Request Headers
选项页:显示请求头中所包含的属性信息。
同样的,这两个界面中,也可以从默认的raw
视图切换成HTTP视图进行查看。
在这里可以通过Find
,进行内容的搜索。直接在文本框中输入内容,点击Find
按钮在当前请求中搜索。
还可以设置Case sensitive
大小写敏感、Regular
正则表达式。
2)响应信息:
Response Body
选项页:显示接口请求返回的响应数据。
Response headers
选项页:显示响应头中所包含的属性信息。
同样,可以通过Find
进行对当前请求的内容搜索。
3、察看结果树的其他功能
(1)将数据写入文件中
在JMeter中,我们可以将察看结果树组件中的内容,存储到一个文件中。
需要操作察看结果树组件中的如下位置:
说明:
- 文件名:输入一个文件的完整路径,后缀可以为
.csv
,.html
等。文件若不存在,则创建该文件;若已存在该文件,运行结果选择覆盖原有文件即可。 - 显示日志内容:
1)仅日志错误:结果树只输出报错日志信息。
2)仅成功日志:结果树只输出正常响应的结果信息。 - 配置(
configure
):配置要输出文档的内容,可以依据自己需求来选择。
如下图所示:
提示:我们可以点击“浏览”按钮,选择已存储的察看结果树文件,来查看之前脚本的请求结果。
(2)Search功能
在察看结果树组件界面中,可以查找需要的请求,在下图位置进行操作。
操作说明:
- 通过输入要查找的信息,点击
Search
按钮,可以过滤出结果树中符合要求的请求,并用红框显示。 - 点击
Reset
按钮会重置搜索,红框消失。 - Case sensitive大小写敏感:勾选此项,输入查询信息,大小写不区分。
- Regular正则表达式:勾选此项,输入正则表达式,会依据正则表达式匹配到符合内容的请求。
操作结果如下图所示:
(3)Scroll automatically
选项
勾选Scroll automatically
选项,当运行过程中请求很多时,会自动滚动显示到最后一个请求。
如下图所示:
注意:
- 从3.2版本开始,视图中的条目数被限制为属性
view.results.tree.max_results
的值,默认为500个。 - 在
jmeter.properties
文件中,可以通过将属性设置为0来恢复旧的行为,但这可能会消耗大量内存。
4、总结
JMeter中其实提供了很多元件和第三方插件,可以供我们进行各方面的数据分析。我们可以根据自己需要选择用哪个、不用哪个。在实际工作中,我们比较关注的性能指标往往只有三五个,并不是全部指标都要统计。
而且根据不同系统的关注点还会有变化。那么,当你对JMeter的各种分析元件都熟悉了之后,就会为工作提供很多方便,提高工作效率。
JMeter中最长用的监听器,就是察看结果树和聚合报告。
注意:查看结果树在负载测试时注意不要使用,因为它会消耗大量的系统资源,例如内存和CPU。所以该功能一般在我们进行接口功能测试或在测试计划调试验证时使用。
参考:https://blog.csdn.net/qq_34659777/article/details/103616339
『动善时』JMeter基础 — 32、JMeter察看结果树组件详解的更多相关文章
- 『动善时』JMeter基础 — 24、JMeter中使用“用户参数”实现参数化
目录 1.用户参数组件介绍 2.用户参数界面介绍 3.使用"用户参数"组件实现参数化 (1)测试计划内包含的元件 (2)线程组元件内容 (3)HTTP请求组件内容 (4)用户参数组 ...
- 『动善时』JMeter基础 — 29、JMeter响应断言详解
目录 1.JMeter断言介绍 2.响应断言组件界面详解 3.响应断言组件的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 (3)响应断言界面内容 (4)查看运行结果 (5)断言结果组件 ...
- 『动善时』JMeter基础 — 30、JMeter中JSON断言详解
目录 1.JSON断言组件界面详解 2.JSON断言组件的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 (3)JSON断言界面内容 (4)查看运行结果 (5)断言结果组件说明 3.JS ...
- 『动善时』JMeter基础 — 31、JMeter中BeanShell断言详解
目录 1.BeanShell简介 2.Beanshell的内置变量和方法 3.BeanShell断言界面详解 4.BeanShell断言的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 ...
- 『动善时』JMeter基础 — 33、JMeter察看结果树的显示模式详解
目录 1.CSS Selector Tester视图 2.HTML查看器 (1)HTML视图 (2)HTML(download resources)视图 (3)HTML Source Formatte ...
- 『动善时』JMeter基础 — 34、JMeter接口关联【XPath提取器】
目录 1.XPath提取器介绍 2.XPath提取器界面详解 3.XPath提取器的使用 (1)测试计划内包含的元件 (2)网易首页请求界面内容 (3)XPath提取器界面内容 (4)百度首页请求界面 ...
- 『动善时』JMeter基础 — 54、JMeter聚合报告详解
目录 1.聚合报告介绍 2.聚合报告界面详解 3.聚合报告中信息点说明 (1)百分位数的说明 (2)吞吐量说明 提示:聚合报告组件的使用和察看结果树组件的使用方式相同.本篇文章主要是详细的介绍一下聚合 ...
- 『动善时』JMeter基础 — 53、JMeter集合点功能的使用
目录 1.集合点介绍 2.同步定时器界面介绍 3.集合点的使用 (1)测试计划内包含的元件 (2)线程组元件内容 (3)HTTP请求组件内容 (4)同步定时器内容 (5)运行脚本查看结果 4.集合点设 ...
- 『动善时』JMeter基础 — 6、使用JMeter发送一个最基础的请求
目录 步骤1:创建一个测试计划 步骤2:创建线程组 步骤3:创建取样器 步骤4:创建监听器 步骤5:完善信息 步骤6:保存测试计划 步骤7:查看结果 总结:JMeter测试计划要素 当我们第一次打开J ...
随机推荐
- OO Unit3 总结
OO Unit3 总结 OO课Unit3人际关系网JML应用技术回顾 BUAA.1823.邓新宇 2020/5/23 梳理JML语言的理论基础.应用工具链情况 方法规格 JML中,同一个方法在不同的条 ...
- new、delete、析构函数、自动类型转换
new 分配内存,返回指针 new 类型名T (初值列表) 功能:申请用于存放T类型对象的内存空间,并依初值列表赋以初值 结果值: 成功->T类型的指针,指向新分配的内存 失败->0(NU ...
- Netty 框架学习 —— 第一个 Netty 应用
概述 在本文,我们将编写一个基于 Netty 实现的客户端和服务端应用程序,相信通过学习该示例,一定能更全面的理解 Netty API 该图展示的是多个客户端同时连接到一台服务器.客户端建立一个连接后 ...
- 功能:SpringBoot日志配置详情
SpringBoot日志配置详情 一.介绍 在所有的项目中,日志是必不可少的,为了高效清晰的查找日志,可以配置日志输出的等级和格式. 在配置后,可以自定义输出日志到指定目录,可以按照天数来分割日志,可 ...
- 【Feign】Feign ,OpenFeign以及Ribbon之间的区别?
Ribbon Ribbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件 Ribbon 可以用来做客户端负载均衡,调用注册中心的服务 Ribbon的使用需要代码里手动调用目标服务,请 ...
- UVA11021麻球繁衍
题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? 思路: 涉及到全概率公式,因为麻球的 ...
- 【Android Jetpack高手日志】DataBinding 从入门到精通
前言 DataBinding 数据绑定库是 Android Jetpack 的一部分,借助该库可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源.我个人觉得,使用 DataBin ...
- 【python】Leetcode每日一题-删除排序链表中的重复元素2
[python]Leetcode每日一题-删除排序链表中的重复元素2 [题目描述] 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表 ...
- 攻防世界Web刷题记录(进阶区)
攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...
- Day009 二维数组
多维数组 多维数组是数组的嵌套(数组的元素是数组,数组的数组元素的元素是数组...),比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组. 二维数组 int a[][]=new int ...