当前位置:   article > 正文

浅谈监听器之察看结果树

浅谈监听器之察看结果树

浅谈监听器之察看结果树

“察看结果树”(View Results Tree)是一个极其重要的监听器组件,它允许用户直观地检查每个采样器请求的详细执行结果。这对于测试脚本的开发和调试阶段尤为重要,因为它能够即时反馈请求的响应数据、错误信息及性能指标。本文档将详细介绍“察看结果树”的功能、配置方法以及使用时的注意事项。

引言

“察看结果树”监听器提供了详细的请求与响应信息视图,帮助开发者快速定位问题、验证预期结果,是JMeter中最常用的调试工具之一。但请注意,由于其详细记录每一项请求的响应,因此在高负载测试中应避免使用,以防止对测试系统造成不必要的负担。

功能概览

● 请求详情:展示发送给服务器的完整HTTP请求,包括请求行、头信息、参数及正文。
● 响应详情:展示服务器返回的完整HTTP响应,包括状态码、响应头和响应体。
● 时间统计:提供请求的处理时间(如响应时间、连接时间),有助于性能分析。
● 结果视图:支持“文本”、“HTML”、“文档”等多种视图模式,便于不同格式的响应数据查看。
● 异常捕获:清晰标记出请求失败或异常的情况,并提供错误信息。
● 保存结果:可配置将测试结果保存到文件,方便后续分析或记录。

使用步骤

  1. 添加监听器:在JMeter测试计划或线程组中,右键选择“添加” -> “监听器” -> “察看结果树”。
  2. 配置设置(可选):
    ○ 名称:为监听器命名,便于识别。
    ○ 配置:根据取样器结果保存配置的内容对结果进行保存,如“请求”、“响应数据”、“响应代码/消息”等。
    ○ 文件名:若需将结果保存到磁盘,可在“文件名”框内指定路径。
    ○ 结果察看:可对结果进行实时查看,并且可以选择不同的方式进行查看,如text,HTML,也可以对结果进行简单测试,如JSON表达式,正则表达式
  3. 运行测试:启动JMeter测试后,发送的每个请求及其响应都会实时显示在“察看结果树”中。

应用实例

首先我们使用SpringBoot框架编写一段测试代码接口

//html
@GetMapping(value = "/html",produces = "application/html")
    public String Returnhtml() {
        return "<!DOCTYPE html>\n" +
                "<html lang=\"en\">\n" +
                "<head>\n" +
                "    <meta charset=\"UTF-8\">\n" +
                "    <title>简单表单提交界面</title>\n" +
                "</head>\n" +
                "<body>\n" +
                "    <h1>欢迎来到我们的简易表单</h1>\n" +
                "    <form action=\"/submit_form\" method=\"post\">\n" +
                "        <label for=\"name\">姓名:</label>\n" +
                "        <input type=\"text\" id=\"name\" name=\"name\"><br><br>\n" +
                "        <label for=\"email\">电子邮件:</label>\n" +
                "        <input type=\"email\" id=\"email\" name=\"email\"><br><br>\n" +
                "        <label for=\"message\">消息:</label>\n" +
                "        <textarea id=\"message\" name=\"message\"></textarea><br><br>\n" +
                "        <input type=\"submit\" value=\"提交\">\n" +
                "    </form>\n" +
                "</body>\n" +
                "</html>";
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

我们编写如下脚本:
在这里插入图片描述
线程组:保持默认
HTTP信息头管理器:名称设置为accept,值为application/html
HTTP请求:协议设置为http,服务器名称或IP设置为127.0.0.1,端口设置为8091,方法设置为GET,路径设置为/html,内容编码为utf-8

情况1:文件配置和文件保存

我们在“察看结果树”中的所有数据写入一个文件中点击配置,会弹出“Sample Result Save Configuration”配置界面,我们可以勾选其中几项进行保存内容,比如勾选Save As XML,Save Label,Save Idle Time,然后在文件名称中输入一个地址:d:\test.xml,再进行保存
在这里插入图片描述运行脚本,打开对应的test.xml文件,查看下面内容

<?xml version="1.0" encoding="UTF-8"?>
<testResults version="1.2">
<httpSample it="0" lb="HTTP请求"/>

</testResults>
  • 1
  • 2
  • 3
  • 4
  • 5

情况2:不同类型展示方式

在上述运行的脚本,在察看结果树中可以看到HTTP请求,默认情况下展示的是Test模式,如果我们在调试过程中对数据进行提取,查看结果树提供了不同内容

RegExp Tester

选取RegExp Tester,例如我们可以知道我们返回的结果内容是

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>简单表单提交界面</title>
</head>
<body>
    <h1>欢迎来到我们的简易表单</h1>
    <form action="/submit_form" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name"><br><br>
        <label for="email">电子邮件:</label>
        <input type="email" id="email" name="email"><br><br>
        <label for="message">消息:</label>
        <textarea id="message" name="message"></textarea><br><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

如果我们要获取< h1>< \h1>中间内容进行调试,我们可以在Regular expression中输入正则表达式进行表达式书写进行测试,并且点击Test
在这里插入图片描述

边界提取器测试

选取边界提取器测试,通过上述内容我们可以知道我们返回的结果内容,如果我们要获取< h1>< \h1>中间内容进行调试,我们可以在左边界中输入< h1>,右边界输入<\h1>,并且点击测试
在这里插入图片描述

情况3:视图预览

我们可以通过提供的内容进行视图预览,如HTML,XML等,如我们选择HTML,我们查看HTTP请求响应数据中Response Body的内容
在这里插入图片描述

注意事项

● 性能影响:由于其详尽的数据记录特性,在大规模压力测试时应禁用该监听器,以免占用过多资源。
● 安全考量:响应数据可能包含敏感信息,确保测试环境与生产环境隔离,且不将含有敏感数据的日志公开。
● 内存消耗:长时间运行大量测试时,结果树会占用较多内存,请定期清理或适当使用写入文件功能。

结语

“察看结果树”是JMeter测试人员不可或缺的调试利器,通过熟练运用它可以极大地提高测试脚本的开发效率与准确性。正确并有效地利用其功能,能在保证测试质量的同时,优化测试流程,提升整体测试效能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/881107
推荐阅读
相关标签
  

闽ICP备14008679号