首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用k6 JSON输出生成html报告

使用k6 JSON输出生成html报告
EN

Stack Overflow用户
提问于 2020-08-05 00:44:10
回答 1查看 1.4K关注 0票数 2

有没有现成的插件可以从K6生成的JSON输出中生成html报告?我正在尝试构建一个简单的HTML报告,但是生成的输出JSON是无效的,并且无法解析。下面是来自K6的JSON输出。

代码语言:javascript
复制
{"type":"Metric","data":{"name":"data_received","type":"counter","contains":"data","tainted":null,"thresholds":[],"submetrics":null,"sub":{"name":"","parent":"","suffix":"","tags":null}},"metric":"data_received"}
{"type":"Point","data":{"time":"2020-07-30T21:06:05.6026767Z","value":0,"tags":{"group":"::setup"}},"metric":"data_received"}
{"type":"Metric","data":{"name":"iteration_duration","type":"trend","contains":"time","tainted":null,"thresholds":[],"submetrics":null,"sub":{"name":"","parent":"","suffix":"","tags":null}},"metric":"iteration_duration"}
{"type":"Point","data":{"time":"2020-07-30T21:06:05.6026767Z","value":0.09,"tags":{"group":"::setup"}},"metric":"iteration_duration"}
EN

回答 1

Stack Overflow用户

发布于 2021-04-14 17:36:39

https://github.com/benc-uk/k6-reporter

此K6扩展旨在通过添加到K6测试代码(JavaScript)中使用,并利用K6 v0.30.0中添加的handleSummary回调挂钩。测试完成后,将向文件系统写入一个HTML文件,其中包含测试摘要数据的格式化且易于使用的版本

要使用,请将此模块添加到您的测试代码中。

从远程托管在GitHub上的捆绑模块导入htmlReport函数

代码语言:javascript
复制
import { htmlReport } from "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js";

请注意。将main替换为版本标签(例如2.2.0)以使用特定版本

然后在测试的默认函数之外,使用K6在任何测试结束时调用的handleSummary(data)函数对其进行包装,如下所示:

代码语言:javascript
复制
export function handleSummary(data) {
  return {
    "summary.html": htmlReport(data),
  };
}

在返回的对象中使用的键是要写入的文件名,可以是任何有效的文件名或路径说明。这是v2.1.1发行版中的更改

htmlReport函数接受一个可选选项映射作为第二个参数,该参数具有以下属性

标题字符串//报告的标题,默认为当前日期多个输出如果您想更好地控制生成的输出或将摘要输出到多个位置(包括标准输出),只需将htmlReport的结果与其他摘要生成器合并,如下所示:

//这将导出为文件名为"result.html“的超文本标记语言,并使用文本摘要导出标准输出

代码语言:javascript
复制
import { htmlReport } from "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js";
import { textSummary } from "https://jslib.k6.io/k6-summary/0.0.1/index.js";

export function handleSummary(data) {
  return {
    "result.html": htmlReport(data),
    stdout: textSummary(data, { indent: " ", enableColors: true }),
  };
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63251440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档