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

JMeter : Generating the default html report not possible with Taurus

我目前正在使用 Taurus 工具制作 POC。

我们公司目前同时使用 JMeter 和 Gatling。

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

谁能告诉我:

提出这个要求的原因是在我们公司:

我希望这是可能的,如果不是,那将是使用 Taurus 的 NO-GO。

截至目前,Taurus 不会将 failureMessage 列写入 kpi.jtl 文件,这是默认 JMeter Results File Configuration 所必需的,以便生成报告仪表板。

所以选项在:

  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
    
  2. 通过将以下行添加到 .bzt-rc 文件

    ,将 Taurus 配置为 use existing JMeter installation
    modules:
      jmeter:
        path: /path/to/your/JMeter
    

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

参考文献:

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

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

2018 年 8 月 23 日编辑:

这是我发现生成所有图表的最佳方式,但仍然不能完全令人满意,因为 Taurus 出于未知原因覆盖了事务控制器中的 "Generate Parent Sampler",这是 JMeter 报告的一个问题:

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

所以我在测试计划中添加了一个Simple Data Writer

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

还请注意我使用了 属性 "output" 和 __P 函数:

${__P(output,)}

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

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

    • jmeter.reportgenerator.apdex_satisfied_threshold: 1000
    • jmeter.reportgenerator.report_title:JMeter Taurus 演示
    • jmeter.reportgenerator.overall_granularity: 1000
    • jmeter.reportgenerator.exporter.html.series_filter: ^(点击下一步|HP|场景)(-成功|-失败)?$

还有我特别的 属性 "output":

  • 输出:${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