我正在尝试清理我们功能测试的 jmeter docker+ci 管道。我看到 taurus 有一种在容器中运行 jmeter 脚本的简洁方法,它完成了下载我想要的 jmeter 版本 + 安装我的脚本使用的插件的繁重工作 - 非常好。
现在我需要在 junit.xml 中生成报告,以便保持报告的一致性。到目前为止,我一直在使用https://github.com/tguzik/m2u的修改分支将 jtl 报告转换为 junit.xml
感谢我如何将所有示例的请求、响应(代码和正文)获取到 junit.xml(至少对于失败的示例)的任何帮助?
我尝试了一些 taurus yaml 的变体......
reporting:
- module: console
- module: final_stats
summary: true
percentiles: true
test-duration: true
- module: junit-xml
filename: report/report.xml
data-source: sample-labels
reporting:
- module: console
- module: final_stats
summary: true
percentiles: true
test-duration: true
- module: passfail
- module: junit-xml
filename: report/report.xml
data-source: pass-fail
还在通过失败模块上添加了某些通过失败标准变体。没有帮助
在摆弄了几个小时之后,我相信没有干净的方法可以从 taurus 中的 junit-xml 模块中获取任何有意义的 junit .xml 报告。它看起来准系统。我还注意到它可能会弄乱默认的 jenkins junit 插件测试结果摘要。
于是我就用下面的yaml设置安顿下来,继续用m2u.jar把jtl转成junit.xml
modules:
jmeter:
path: ~/.bzt/jmeter-taurus/bin/jmeter
download-link: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-{version}.zip
version: 5.3
force-ctg: true
detect-plugins: true
plugins:
- jpgc-json=2.2
- jmeter-ftp
- jpgc-casutg
xml-jtl-flags:
xml: true
fieldNames: true
time: true
timestamp: true
latency: true
connectTime: false
success: true
label: true
code: true
message: true
threadName: true
dataType: false
encoding: false
assertions: true
subresults: true
responseData: false
samplerData: false
responseHeaders: false
requestHeaders: true
responseDataOnError: true
saveAssertionResultsFailureMessage: true
bytes: true
threadCounts: false
url: true
execution:
- write-xml-jtl: full
scenario:
script: v_jmxfilename
properties:
environment: v_env
reporting:
- module: console
- module: final_stats
summary: true
percentiles: true
test-duration: true
# - module: junit-xml
# filename: report/junit-report.xml
# data-source: sample-labels