Jmeter中的监听器(四)

news/2024/11/17 18:00:26/

 13--用表格查看结果

功能特点

  • 响应时间:显示每个请求的响应时间。
  • 响应码:显示每个请求的HTTP响应码。
  • 请求数据:显示发送的请求数据。
  • 响应数据:显示接收到的响应数据。
  • 错误信息:显示请求失败时的错误信息。
  • 详细信息:显示每个请求的详细信息,如请求标签、样本数量等。

配置步骤

  1. 添加用表格查看结果监听器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “用表格查看结果”(View Results in Table)。
  2. 配置用表格查看结果监听器

    • 名称:给用表格查看结果监听器一个有意义的名称。
    • 文件:(可选)指定保存表格数据的文件路径。
    • 显示选项:选择要显示的详细信息,如响应时间、响应码、请求数据等。
    • 排序选项:选择如何排序表格中的数据(例如按响应时间排序)。

示例配置

假设我们需要测试一个Web应用,并使用“用表格查看结果”监听器来查看测试结果的详细信息。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如“获取用户列表”)。
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:请求的方法(例如GET)。
      • 路径:请求的路径(例如/api/users)。
  4. 添加用表格查看结果监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 用表格查看结果。
    • 配置用表格查看结果监听器:
      • 名称:用表格查看结果
      • 文件:(可选)指定保存表格数据的文件路径(例如C:\\reports\\table_results.csv
      • 显示选项
        • 响应时间:选择“是”
        • 响应码:选择“是”
        • 请求数据:选择“是”
        • 响应数据:选择“是”
      • 排序选项
        • 按响应时间排序:选择“是”
        • 升序:选择“是”
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看表格

    • 在“用表格查看结果”监听器中,可以看到每个请求的详细信息。
    • Label:请求的标签名称。
    • # Samples:请求的样本数量。
    • Average:平均响应时间(毫秒)。
    • Min:最小响应时间(毫秒)。
    • Max:最大响应时间(毫秒)。
    • Error %:错误率(百分比)。
    • Throughput:吞吐量(每秒请求数)。
    • KB/sec:每秒传输的数据量(千字节)。
    • 详细信息:点击具体的请求,可以查看每个请求的详细信息,如请求数据、响应数据等。

优化建议

  1. 名称

    • 给监听器一个有意义的名称,以便在测试计划中容易识别。
  2. 文件保存

    • 如果需要保存表格数据到文件,确保指定的文件路径有效。保存为CSV格式便于后续分析和处理。
  3. 显示选项

    • 根据需要选择显示的详细信息,如响应时间、响应码、请求数据等。选择合适的选项可以帮助更好地分析性能。
  4. 排序选项

    • 根据需要选择如何排序表格中的数据,如按响应时间排序。这有助于快速找到性能较差的请求。
  5. 性能影响

    • 注意“用表格查看结果”监听器会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
  6. 调试

    • 使用“用表格查看结果”监听器可以方便地调试和分析测试结果,确保每个请求按预期执行。

 

dbbed7a58123468fb717f31098cf2c10.png


 

14--简单数据写入器

功能特点

  • 保存测试结果:将测试结果保存到文件中,支持多种文件格式(如CSV、XML)。
  • 自定义保存字段:可以选择保存哪些字段,如响应时间、响应码、请求数据等。
  • 文件路径:可以指定保存文件的路径和文件名。
  • 追加模式:可以选择是否将新结果追加到现有文件中。

配置步骤

  1. 添加简单数据写入器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “简单数据写入器”(Simple Data Writer)。
  2. 配置简单数据写入器

    • 名称:给简单数据写入器一个有意义的名称。
    • 文件:指定保存结果的文件路径和文件名(例如C:\\reports\\test_results.csv)。
    • 文件格式:选择保存文件的格式(例如CSV、XML)。
    • 追加文件:选择是否将新结果追加到现有文件中。
    • 保存字段:选择要保存的字段,如响应时间、响应码、请求数据等。

示例配置

假设我们需要测试一个Web应用,并使用“简单数据写入器”将测试结果保存到文件中。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如“获取用户列表”)。
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:请求的方法(例如GET)。
      • 路径:请求的路径(例如/api/users)。
  4. 添加简单数据写入器

    • 右键点击线程组 -> 添加 -> 监听器 -> 简单数据写入器。
    • 配置简单数据写入器:
      • 名称:简单数据写入器
      • 文件C:\\reports\\test_results.csv
      • 文件格式:CSV
      • 追加文件:选择“是”(将新结果追加到现有文件中)
      • 保存字段
        • 响应时间:选择“是”
        • 响应码:选择“是”
        • 请求数据:选择“是”
        • 响应数据:选择“是”
        • 错误信息:选择“是”
        • 其他字段:根据需要选择其他字段
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看文件

    • 测试完成后,打开指定的文件 C:\\reports\\test_results.csv,查看保存的测试结果。

文件格式示例

假设选择了CSV格式,保存的文件内容可能如下所示:

timestamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
2024-11-09 19:39:00,123,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,123,0,123
2024-11-09 19:39:01,150,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,150,0,150
2024-11-09 19:39:02,145,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,145,0,145

优化建议

  1. 文件路径

    • 确保文件路径有效且具有足够的写权限。使用绝对路径可以避免路径问题。
  2. 文件格式

    • 根据需要选择合适的文件格式,如CSV、XML等。CSV格式便于后续分析和处理。
  3. 追加模式

    • 如果需要将多次测试的结果合并到一个文件中,选择“追加文件”。否则,每次测试前清空文件。
  4. 保存字段

    • 根据需要选择保存的字段。选择合适的字段可以帮助更好地分析性能和调试问题。
  5. 性能影响

    • 注意“简单数据写入器”会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
  6. 文件管理

    • 定期备份和清理保存的文件,避免文件过大影响性能和管理。

1b520b287a58452eb87040207f54db46.png


 

15--邮件观察仪

功能特点

  • 发送邮件:在测试过程中或测试结束后发送邮件通知。
  • 自定义邮件内容:可以自定义邮件的主题和正文。
  • 附件支持:可以附加文件到邮件中。
  • 多收件人支持:可以发送邮件给多个收件人。

配置步骤

  1. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“邮件通知”)。
  2. 添加邮件观察仪

    • 右键点击线程组 -> 添加 -> 取样器 -> SMTP Sampler(邮件观察仪)。
    • 配置邮件观察仪:
      • 名称:给邮件观察仪一个有意义的名称(例如“发送邮件通知”)。
      • SMTP Server:SMTP服务器的地址(例如smtp.example.com)。
      • SMTP Port:SMTP服务器的端口(例如587)。
      • Use SSL:选择是否使用SSL连接。
      • Use StartTLS:选择是否使用StartTLS加密。
      • SMTP Auth:选择是否需要身份验证。
      • User:SMTP服务器的用户名。
      • Password:SMTP服务器的密码。
      • From:发件人的邮箱地址。
      • To:收件人的邮箱地址(多个收件人用逗号分隔)。
      • Subject:邮件的主题。
      • Message Body:邮件的正文。
      • Message Body Type:选择邮件正文的类型(例如text/plaintext/html)。
      • Attachments:(可选)附加文件的路径。
  3. 配置触发条件

    • 如果需要在测试结束后发送邮件,可以使用“tearDown线程组”来实现。
    • 右键点击测试计划 -> 添加 -> 线程组 -> tearDown线程组 -> 输入线程组名称(例如“邮件通知-tearDown”)。
    • 将邮件观察仪添加到tearDown线程组中。

示例配置

假设我们需要在一个性能测试结束后发送邮件通知,报告测试结果。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加主测试线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 添加HTTP请求等取样器,配置测试用例。
  3. 添加tearDown线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> tearDown线程组 -> 输入线程组名称(例如“邮件通知-tearDown”)。
  4. 添加邮件观察仪

    • 右键点击tearDown线程组 -> 添加 -> 取样器 -> SMTP Sampler(邮件观察仪)。
    • 配置邮件观察仪:
      • 名称:发送邮件通知
      • SMTP Server:smtp.example.com
      • SMTP Port:587
      • Use SSL:否
      • Use StartTLS:是
      • SMTP Auth:是
      • User:yourusername@example.com
      • Password:yourpassword
      • From:yourusername@example.com
      • To:recipient1@example.com, recipient2@example.com
      • Subject:性能测试结果通知
      • Message Body:性能测试已结束,请查看附件中的测试结果。
      • Message Body Type:text/plain
      • Attachments:(可选)C:\reports\test_results.csv
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 接收邮件

    • 测试结束后,收件人会收到包含测试结果的通知邮件。

优化建议

  1. 邮件服务器配置

    • 确保SMTP服务器的地址和端口正确,且服务器支持所需的加密方式(如SSL或StartTLS)。
  2. 身份验证

    • 如果SMTP服务器需要身份验证,确保提供的用户名和密码正确。
  3. 邮件内容

    • 自定义邮件的主题和正文,使其包含有用的信息,如测试结果的摘要或链接。
  4. 附件管理

    • 如果需要附加文件,确保文件路径正确且文件存在。
  5. 错误处理

    • 在邮件发送失败时,可以添加断言或日志记录来捕获错误信息,便于调试。
  6. 性能影响

    • 注意邮件发送可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整邮件发送的时机(如使用tearDown线程组)来优化性能。

832ee15211bd4bf5b1b107209779b14c.png


 

16--BeanShell Listener 

功能特点

  • 自定义数据处理:使用 BeanShell 脚本处理测试结果,实现高度定制化的数据处理和分析。
  • 实时监控:实时处理和显示测试结果。
  • 集成外部系统:将测试结果发送到外部系统进行进一步处理和分析。
  • 日志记录:记录详细的测试结果到日志文件。

配置步骤

  1. 添加 BeanShell Listener

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “BeanShell Listener”。
  2. 配置 BeanShell Listener

    • 名称:给 BeanShell Listener 一个有意义的名称。
    • 文件:(可选)指定保存脚本输出的文件路径。
    • 脚本:在脚本编辑框中编写 BeanShell 脚本。
    • 参数:(可选)定义脚本中使用的参数。

示例配置

假设我们需要测试一个Web应用,并使用 BeanShell Listener 处理每个请求的响应时间,并将结果记录到日志文件中。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如“获取用户列表”)。
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:请求的方法(例如GET)。
      • 路径:请求的路径(例如/api/users)。
  4. 添加 BeanShell Listener

    • 右键点击线程组 -> 添加 -> 监听器 -> BeanShell Listener。
    • 配置 BeanShell Listener:
      • 名称:BeanShell Listener
      • 文件:(可选)指定保存脚本输出的文件路径(例如C:\\logs\\beanshell_output.txt
      • 脚本:在脚本编辑框中编写以下 BeanShell 脚本:
        // 获取当前时间
        import java.text.SimpleDateFormat;
        import java.util.Date;// 获取请求名称、响应时间、状态码
        String label = prev.getSampleLabel();
        int responseTime = prev.getTime();
        String statusCode = prev.getResponseCode();// 构建日志消息
        Date now = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTime = dateFormat.format(now);
        String logMessage = currentTime + " - " + label + " - Response Time: " + responseTime + " ms - Status Code: " + statusCode;// 写入日志文件
        File logFile = new File("C:\\logs\\test_results.log");
        FileWriter writer = new FileWriter(logFile, true);
        writer.write(logMessage + "\n");
        writer.close();
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看日志

    • 测试完成后,打开日志文件 C:\\logs\\test_results.log,查看记录的测试结果。

优化建议

  1. 脚本语言选择

    • 虽然 BeanShell 是一个强大的脚本语言,但 Groovy 通常性能更好且功能更强大。如果可能,建议使用 Groovy 脚本。
  2. 脚本文件

    • 如果脚本较长或需要版本控制,可以将脚本保存到文件中,并在 BeanShell Listener 中选择脚本文件路径。
  3. 参数

    • 如果脚本需要使用外部参数,可以在“参数”部分定义参数,并在脚本中引用这些参数。
  4. 性能影响

    • 注意复杂脚本可能会对测试性能产生影响,特别是在大规模性能测试中。可以通过优化脚本和减少不必要的操作来提高性能。
  5. 错误处理

    • 在脚本中添加适当的错误处理逻辑,确保脚本在遇到异常时能够优雅地处理。
  6. 日志记录

    • 使用日志记录功能可以帮助调试和分析测试结果,确保日志文件路径有效且有足够的写权限。

5cc18758a1634c20a865802fff8e8d63.png


 

 


http://www.ppmy.cn/news/1547773.html

相关文章

【手撕 Spring】 -- 实现含构造函数的类实例化

🌈手写简化版 Spring 框架:通过构建一个精简版的 Spring 框架,深入理解 Spring 的核心机制,掌握其设计思想,进一步提升编程能力 🌈项目代码地址:https://github.com/YYYUUU42/mini-Spring 如果该…

计算机网络 (5)数据通信的基础知识

前言 数据通信是一种以信息处理技术和计算机技术为基础的通信方式,它通过数据通信系统将数据以某种信号方式从一处传送到另一处,为计算机网络的应用和发展提供了技术支持和可靠的通信环境,是现代通信技术的关键部分。 一、数据通信的基本概念…

C# DataTable使用Linq查询详解

前奏- C# 对DataTable进行查询 C# 可以对 DataTable 进行查询。在 .NET 框架中,DataTable 类提供了几种方法来查询数据,包括 Select 方法和 AsEnumerable 扩展方法(在 System.Data.DataSetExtensions 命名空间中)。 使用 Select…

机器学习: LightGBM模型(优化版)——高效且强大的树形模型

LightGBM(Light Gradient Boosting Machine)是一种基于梯度提升决策树(GBDT)的框架,由微软提出。它具有高效的训练速度、低内存占用、支持并行和GPU加速等特点,非常适合大规模数据的训练任务,尤…

1、使用vscode+eide+stm32cubeMx开发stm32

步骤1:在vscode中安装如下的插件 步骤2:点击Embedded IDE,点击“新建项目”-----空项目-----Cortex-M项目。 步骤3:输入项目名,回车后会要制定保存路径,此时就是一个已项目名命名的文件夹。 步骤4&#xff…

鸿蒙next ui安全区域适配(刘海屏、摄像头挖空等)

目录 相关api 团结引擎对于鸿蒙的适配已经做了安全区域的适配,也考虑到了刘海屏和摄像机挖孔的情况,在团结引擎内可以直接使用Screen.safeArea 相关api 团结引擎对于鸿蒙的适配已经做了安全区域的适配,也考虑到了刘海屏和摄像机挖孔的情况&am…

传奇996_19——龙岭总结

功能: 切割 切割属性: 即人物属性,可以设置临时属性或者永久属性,龙岭使用的是临时属性,所谓临时就是存在有效期,龙岭设置的有效期是123456789秒,即1428.89802天。 龙岭写法(倒叙…

提取 Docker 镜像的 Dockerfile 工具集

在 Docker 开发和运维过程中,我们经常需要分析或重建已有镜像的 Dockerfile。无论是为了理解镜像的构建过程、优化镜像大小,还是出于安全审计的需求,能够从现有镜像中提取或重建 Dockerfile 都是一项非常有用的技能。本文将介绍一系列可以帮助我们完成这项任务的工具。 © …