You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行生成仅包含K6测试最终指标的HTML报告?

命令行生成仅含测试最终指标的HTML报告方案

完全可以通过命令行工具组合实现需求,无需依赖handle summary回调函数,核心思路是提取标准输出中的指标数据,再将数据转换成HTML格式,具体步骤如下:

1. 过滤提取测试指标

先用文本处理工具(如grep、awk)从测试命令的标准输出中过滤出你需要的最终指标。假设你的测试命令是run-test-suite,输出里包含类似Total Passed: 98、Failure Rate: 2%、Test Duration: 120s这类关键行,可以用:

run-test-suite | grep -E "Total Passed|Failure Rate|Test Duration"

如果需要先把指标临时保存到文件,再加>重定向:

run-test-suite | grep -E "Total Passed|Failure Rate|Test Duration" > raw-metrics.txt

2. 转换为HTML报告

用awk或者Here Document把提取到的指标转换成简单的HTML结构。以下是两种常用方式:

方式一:基于临时文件生成HTML

awk '
BEGIN {
    print "<!DOCTYPE html>"
    print "<html lang=\"zh-CN\">"
    print "<head><meta charset=\"UTF-8\"><title>测试最终指标</title></head>"
    print "<body><h1>测试最终指标</h1><ul>"
}
{
    print "<li>" $0 "</li>"
}
END {
    print "</ul></body></html>"
}' raw-metrics.txt > test-metrics-report.html

方式二:一步到位(无需临时文件)

把指标提取和HTML生成合并成一条命令:

run-test-suite | grep -E "Total Passed|Failure Rate|Test Duration" | awk '
BEGIN {
    print "<!DOCTYPE html>"
    print "<html lang=\"zh-CN\">"
    print "<head><meta charset=\"UTF-8\"><title>测试最终指标</title></head>"
    print "<body><h1>测试最终指标</h1><ul>"
}
{
    print "<li>" $0 "</li>"
}
END {
    print "</ul></body></html>"
}' > test-metrics-report.html

3. 适配JSON格式的测试输出

如果你的测试工具支持输出JSON格式的指标(比如run-test-suite --output json),可以用jq工具更精准地提取和转换:

run-test-suite --output json | jq -r '
"<html lang=\"zh-CN\">",
"<head><meta charset=\"UTF-8\"><title>测试指标</title></head>",
"<body><h1>测试最终指标</h1><ul>",
(.testMetrics[] | "<li>\(.metricName): \(.metricValue)</li>"),
"</ul></body></html>"
' > test-metrics-report.html

这种纯命令行的方式完全不需要修改代码,通过基础工具的组合就能快速生成仅含核心指标的HTML报告,灵活适配不同的测试输出格式。

内容的提问来源于stack exchange,提问作者Yadhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:15:34