【问题标题】:How do i view all transactions in JMeter Report如何查看 JMeter Report 中的所有交易
【发布时间】:2020-05-08 21:04:44
【问题描述】:

我正在使用 JMeter 5.0 运行性能测试,然后在测试结束时生成 HTML 报告。我想知道是否无论如何都可以使用它所服务的端点查看实际请求是什么响应以及在 HTML 报告中查看所有请求的能力。我知道 JMeter 有一个叫做视图结果树的东西,它提供了我需要的大部分信息,但我不确定如何在 HTML 报告中显示结果树或类似的东西。

【问题讨论】:

    标签: jmeter performance-testing jmeter-5.0


    【解决方案1】:

    查看结果是树是相当资源密集型侦听器,因此您要谨慎使用它。通常,您只想过滤和显示错误,以便分析它们。

    如果您想要 HTML 报告,那么您可以使用 JMeter 的模块化扩展。它的默认行为是从 CSV 文件中读取和处理样本以生成包含图形视图的 HTML 文件。它可以在负载测试结束时或按需生成报告。

    您可以使用菜单项工具 → 生成 HTML 报告来生成 HTML 报告:

    This page 解释了用于调整和调整报告生成的不同配置和选项。

    希望这会有所帮助。

    【讨论】:

    • 按结果树中的错误过滤是我在上次测试中真正受益的东西!甚至没想过要看看那个选项!
    【解决方案2】:

    使用这个命令,-g .jtl file -o reportlocationpath,你会得到很好的生成的html报告以及很多图表,如下所示:

    【讨论】:

    • 感谢您提供的信息,但我已经生成了一份 HTML 报告,我有一个 HTTP 请求会遍历数千个 CSV 行。我想要的是我想看看我是否可以在 HTML 报告中拥有与结果树等效的东西
    【解决方案3】:

    我想知道是否可以查看实际请求 它服务的端点

    我的猜测是您已经拥有每个请求所需的所有指标,但希望查看单个请求有效负载和响应。万一这个猜测是错误的,因为您已经有了报告并且仍然无法看到各个请求,我假设您已经检查了每个事务控制器的“生成父样本”。取消选中该选项,您应该能够看到单个请求级别的响应时间、第 90 个百分位数等。当然,您必须重新运行测试才能获得这些单个请求级别的值

    但是,如果您想在 HTML 报告中逐字查看请求负载和响应,我们无法做到这一点。只有 View Results Tree 可以在 JMeter 的 GUI 范围内为您做到这一点,而不是在此范围之外。

    反应如何

    如上所述,截至今天,在 HTML 报告中不可能看到单个请求的响应及其有效负载,这是有充分理由的。在我们的 HTML 报告中运行负载测试时,我们不需要请求/响应。它是调试所必需的,直到脚本准备好执行为止。但是发布后,我们不需要回复。如果您仍然想确保收到正确的响应,您可以随时添加assertions(尽管最佳做法是不要在负载测试中添加太多断言)

    只是一个示例,说明为什么跨任何负载测试工具的 HTML 报告都不会显示请求的响应 -

    假设对 10K 用户进行 10 次迭代的负载测试,并且线程组有大约 10 个事务,每个事务平均有 7 个请求,将有 700 万个响应要通过。在 HTML 报告中包含这一点不仅乏味,而且毫无意义。

    我知道 JMeter 有一个叫做视图结果树的东西,它提供 我需要的大部分信息

    查看结果树是调试和确保在脚本创建阶段请求和响应是否适当的圣杯。

    我认为您主要关心的是确保响应的正确性,而不是获取每个请求的完整响应。在那种情况下,正如我上面提到的,你总是可以使用断言。其他几个自定义选项包括捕获响应的特定部分并将它们写入文件或通过利用 JSR223 采样器或使用 if 控制器进行验证的类似文件。当然,这会在 JMeter 上增加一些开销,具体取决于您要执行的测试和脚本的类型

    但我不知道如何显示结果树或类似的东西 HTML 报告

    但是,如果您仍然坚持在 HTML 中包含某些内容,并且如果我无法说服为什么这是不应该追求的内容,您可以通过 Regex Extractor 在变量中捕获每个请求的整个响应并编写它们到其中包含 HTML 标记的文件。但是,您必须实施逻辑来整理响应并根据需要组织它们。

    另一种方法是让 JTL 保存所有数据并在某些文本编辑器中对其进行修改并使用 HTML 美化它

    关于 JTL 及其配置的仅供参考

    希望这会有所帮助!

    【讨论】:

      【解决方案4】:

      截至目前JMeter version 5.2

      1. JMeter可以only generate the HTML Reporting Dashboard from the CSV files

        仪表板生成器是 JMeter 的模块化扩展。它的默认行为是读取和处理来自 CSV 文件的样本,以生成包含图形视图的 HTML 文件。它可以在负载测试结束时或按需生成报告。

      2. 没有possibility to store response data in CSV mode:

        response_data 目前不支持用于 CSV 输出

      所以没有简单的方法来实现您的问题,除非您使用 ie Flexible File Writer 将请求/响应数据存储到单独的文件中并修改 report-template(您需要学习 FreeMarker)以显示您的信息需要。

      【讨论】:

      • @Dimitri - 使用灵活文件写入写出请求/响应数据是否会导致测试响应时间的显着开销?
      猜你喜欢
      • 2012-12-28
      • 2011-02-27
      • 2015-10-07
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多