JMeter:生成Taurus无法生成的默认html报告

Loc*_*Ann 5 performance jmeter gatling taurus

我目前正在使用金牛座工具制作POC .

在我们公司,我们现在同时使用JMeter和Gatling.

我能够在我的测试中获得没有任何复杂配置的Gatling报告,但JMeter无法获得其报告.

谁能告诉我:

  • 如果可能的话,如果有的话,请指出我该怎么做?
  • 它不是,为什么它不适用于加特林?

这个要求背后的原因是我们公司:

  • 我们将对外部系统的测试暴露限制在公共互联网站点
  • 我们希望在内部对结果进行历史记录
  • JMeter HTML报告包含我们需要并用于分析测试的非常丰富的信息
  • 我们不希望与商业提供商(Blazemeter这里)挂钩,因为看起来获得报告的唯一方法就是使用Blazemeter.我们可能会订阅它,但由于报告不可用,我们不希望被阻止.

我希望有可能好像不是使用金牛座的NO-GO.

Dmi*_*i T 5

截至目前,Taurus 尚未将failureMessage列写入默认 JMeter结果文件配置所需的kpi.jtl文件中,以生成报告仪表板。

所以选项是:

  1. 创建一个单独的步骤,以便使用 Taurus ShellExec服务生成报告仪表板,例如

    services:
    - module: shellexec
      post-process:
      - ~/.bzt/jmeter-taurus/4.0/bin/./jmeter -Jjmeter.save.saveservice.assertion_results_failure_message=false -g ${TAURUS_ARTIFACTS_DIR}/kpi.jtl -o /path/to/report/folder
    ---
    execution:
      scenario:
        script: test.jmx
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过将以下行添加到文件来配置 Taurus 以使用现有的 JMeter 安装.bzt-rc

    modules:
      jmeter:
        path: /path/to/your/JMeter
    
    Run Code Online (Sandbox Code Playgroud)

    确保现有的 JMeter 安装已将jmeter.save.saveservice.assertion_results_failure_message=false行添加到user.properties文件中。完成后,您将能够正常从 Taurus kpi.jtl生成报告仪表板

参考:


UBI*_*ACK 5

到目前为止(2018 年 8 月 Taurus 1.12.1),根据我自己的测试和从项目中获得的答案,似乎不可能以令人满意且简单的方式实现:

虽然根据 @dmitri-t 的回答,这在一定程度上是可能的,但它并不完全令人满意,因为报告中会缺少一些信息,并且您需要根据平台进行自定义,这会消除 Taurus 的一些简化优势。但希望它有可能在未来的版本中引入。也许你可以在谷歌群组主题上添加注释。

2018 年 8 月 23 日编辑:

这是我发现生成所有图表的最佳方法,但仍然不能完全令人满意,因为 Taurus 出于未知原因覆盖了事务控制器中的“生成父采样器”,这对 JMeter 报告来说是一个问题:

由于之前的问题,JMeter 4.0 中很多图表都是空的,所以我使用了即将发布的 5.0 版本。

所以我在测试计划中添加了一个简单数据写入器。

请注意,我在“配置”按钮中签入了报告所需的所有 CSV 字段:

JMeter 报告的简单数据编写器

另请注意,我使用属性“output”和__P函数:

${__P(输出,)}

最后在 YAML 文件中,我配置:

  • 输出:${TAURUS_ARTIFACTS_DIR}/输出/
  • 报告使用的属性:

    • jmeter.reportgenerator.apdex_satisfied_threshold:1000
    • jmeter.reportgenerator.report_title:JMeter Taurus 演示
    • jmeter.reportgenerator.overall_grainarity: 1000
    • jmeter.reportgenerator.exporter.html.series_filter: ^(ClickNext|HP|场景)(-成功|-失败)?$

我的特殊属性“输出”:

  • 输出:${TAURUS_ARTIFACTS_DIR}/输出/

我最终得到:

settings:
  env:
     jmeterVersion: r1839007


execution:
- scenario: existing
  concurrency: 5
  hold-for: 10s
  ramp-up: 3s

scenarios:
  existing:
    script: demo.jmx

modules:
  jmeter:
    path: ~/.bzt/jmeter-taurus/${jmeterVersion}/bin/jmeter
    version: ${jmeterVersion}
    download-link: https://ci.apache.org/projects/jmeter/nightlies/${jmeterVersion}/apache-jmeter-${jmeterVersion}.zip
    detect-plugins: false
    properties:
      jmeter.reportgenerator.apdex_satisfied_threshold: 1000
      jmeter.reportgenerator.report_title: JMeter Taurus Demo
      jmeter.reportgenerator.overall_granularity: 1000
      jmeter.reportgenerator.exporter.html.series_filter: ^(ClickNext|HP|scenario)(-success|-failure)?$
      output: ${TAURUS_ARTIFACTS_DIR}/output/

services:
- module: shellexec
  post-process:
  - ~/.bzt/jmeter-taurus/${jmeterVersion}/bin/jmeter -p ~/.bzt/jmeter-taurus/${jmeterVersion}/bin/jmeter.properties -q ${TAURUS_ARTIFACTS_DIR}/jmeter-bzt.properties -g ${TAURUS_ARTIFACTS_DIR}/output/output.csv -o ${TAURUS_ARTIFACTS_DIR}/folder


reporting:
- module: final-stats
- module: console
Run Code Online (Sandbox Code Playgroud)