JMeter:生成默认 html 报告无法使用 Taurus
JMeter : Generating the default html report not possible with Taurus
我目前正在使用 Taurus 工具制作 POC。
我们公司目前同时使用 JMeter 和 Gatling。
我能够在我的测试中获得 Gatling 报告而无需任何复杂配置,但 JMeter 无法获得其 report。
谁能告诉我:
- 如果可能的话,请告诉我怎么做?
- 它不是,为什么它不可用,例如 Gatling?
提出这个要求的原因是在我们公司:
- 我们将对外部系统的测试暴露限制在 public 互联网站点
- 我们想要跨时间对结果进行内部历史化
- JMeter HTML report 包含非常丰富的信息,我们需要并使用这些信息来分析我们的测试
- 我们不想在时间上与商业提供商(这里是 Blazemeter)捆绑在一起,因为获得报告的唯一方法似乎是使用 Blazemeter。我们可能会订阅它,但我们不想因为报告不可用而被阻止。
我希望这是可能的,如果不是,那将是使用 Taurus 的 NO-GO。
截至目前,Taurus 不会将 failureMessage
列写入 kpi.jtl 文件,这是默认 JMeter Results File Configuration 所必需的,以便生成报告仪表板。
所以选项在:
创建一个单独的步骤,以便使用 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
通过将以下行添加到 .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),根据我自己的测试和从项目中获得的答案,以令人满意和简单的方式是不可能的:
- https://groups.google.com/forum/#!topic/codename-taurus/Y8TcfWfu3IE
- https://groups.google.com/forum/#!searchin/codename-taurus/generateHTMLreport%7Csort:date/codename-taurus/1vyu4Yy8ipw/GF3HDi-uCQAJ
尽管根据@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
我目前正在使用 Taurus 工具制作 POC。
我们公司目前同时使用 JMeter 和 Gatling。
我能够在我的测试中获得 Gatling 报告而无需任何复杂配置,但 JMeter 无法获得其 report。
谁能告诉我:
- 如果可能的话,请告诉我怎么做?
- 它不是,为什么它不可用,例如 Gatling?
提出这个要求的原因是在我们公司:
- 我们将对外部系统的测试暴露限制在 public 互联网站点
- 我们想要跨时间对结果进行内部历史化
- JMeter HTML report 包含非常丰富的信息,我们需要并使用这些信息来分析我们的测试
- 我们不想在时间上与商业提供商(这里是 Blazemeter)捆绑在一起,因为获得报告的唯一方法似乎是使用 Blazemeter。我们可能会订阅它,但我们不想因为报告不可用而被阻止。
我希望这是可能的,如果不是,那将是使用 Taurus 的 NO-GO。
截至目前,Taurus 不会将 failureMessage
列写入 kpi.jtl 文件,这是默认 JMeter Results File Configuration 所必需的,以便生成报告仪表板。
所以选项在:
创建一个单独的步骤,以便使用 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
通过将以下行添加到
,将 Taurus 配置为 use existing JMeter installation.bzt-rc
文件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),根据我自己的测试和从项目中获得的答案,以令人满意和简单的方式是不可能的:
- https://groups.google.com/forum/#!topic/codename-taurus/Y8TcfWfu3IE
- https://groups.google.com/forum/#!searchin/codename-taurus/generateHTMLreport%7Csort:date/codename-taurus/1vyu4Yy8ipw/GF3HDi-uCQAJ
尽管根据@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