输出 html 报告

通过之前的 K6 的默认测试报告来看,K6 本身只能输出命令行的报告,没有图形化界面的测试报告。

如果我们想要生成图形化界面的测试报告,可以使用第三方提供的 K6 HTML Report Exporter v2 插件来生成 html 报告。

下面是使用 K6 HTML Report Exporter v2 插件来生成 html 报告的步骤:

    1. 在测试脚本中引入 K6 HTML Report Exporter v2 插件
import { htmlReport } from "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js";
    1. 在测试脚本中配置 K6 HTML Report Exporter v2 插件
export function handleSummary(data) {
  return {
    "summary.html": htmlReport(data),
  };
}
    1. 完整的测试脚本示例
import { check } from 'k6';
import http from 'k6/http';
import { htmlReport } from "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js";


export default function () {
  const res = http.get('https://httpbin.test.k6.io');
  check(res, {
    'HTTP response code is status 200': (r) => r.status === 200,
  });
}

export function handleSummary(data) {
  return {
    "summary.html": htmlReport(data),
  };
}
    1. 使用 k6 运行测试脚本即可在项目根目录生成名称为 summary.html 的 html 报告
    1. 打开 summary.html 报告即可查看 html 报告。

更多关于 K6 HTML Report Exporter v2 插件的用法,请参考官方文档 https://github.com/benc-uk/k6-reporter[https://github.com/benc-uk/k6-reporter]

持续集成

接入 github action

以 github action 为例,其他 CI 工具类似

  • 创建.github/workflows 目录:在你的 GitHub 仓库中,创建一个名为 .github/workflows 的目录。这将是存放 GitHub Actions 工作流程文件的地方。

  • 创建工作流程文件:在.github/workflows 目录中创建一个 YAML 格式的工作流程文件,例如 k6.yml。

  • 编辑 k6.yml 文件:将以下内容复制到文件中

name: K6 Performance Test
on: [push]
jobs:
  build:
    name: Run k6 test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Run k6 local test
        uses: grafana/[email protected]
        with:
          filename: demo.js
          flags: --vus 50 --duration 10s
  • 提交代码:将 k6.yml 文件添加到仓库中并提交。

  • 查看测试报告:在 GitHub 中,导航到你的仓库。单击上方的 Actions 选项卡,然后单击左侧的 K6 Performance Test 工作流。你应该会看到工作流正在运行,等待执行完成,就可以查看结果。

  • 我们也通过 github action 输出 html 报告,先调整一下 k6.yml 文件

name: K6 Performance Test
on: [push]
jobs:
  build:
    name: Run k6 performance test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Run k6 local test
        uses: grafana/[email protected]
        with:
          filename: demo.js
          flags: --vus 50 --duration 10s
      - name: Archive K6 performance test report
        uses: actions/upload-artifact@v3
        with:
          name: K6-performance-test-report
          path: summary.html
      - name: Upload K6 performance test report to GitHub
        uses: actions/upload-artifact@v3
        with:
          name: K6-performance-test-report
          path: summary.html
  • 提交代码:将 k6.yml 文件添加到仓库中并提交。
  • 查看测试报告:在 GitHub 中,导航到你的仓库。单击上方的 Actions 选项卡,然后单击左侧的 K6 Performance Test 工作流。你应该会看到工作流正在运行,等待执行完成,就可以查看结果和测试报告附件。

参考文档


欢迎关注软件测试同学的公众号“软件测试同学”,原创 QA 技术文章第一时间推送。