关于 report
面向希望沿用现有工作流的团队的 Playwright 测试报告技能。它生成 Markdown 摘要,并可将结果发送到已配置的目标;存在历史报告时还会比较趋势。
主要功能
- 01运行测试并解析结果数量
- 02记录失败项、耗时和不稳定测试
- 03检测已配置的报告目标
- 04生成 Markdown 和 HTML 报告
- 05比较历史报告中的趋势
适用场景
- 01汇总近期 Playwright 测试运行结果
- 02将结果发送到已配置的 Slack 或 TestRail
- 03查看通过率和不稳定测试趋势
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill report安装后在 Claude Code 中输入/report确认已加载。
详细介绍
智能测试报告
生成可接入用户现有工作流的测试报告。无需新增任何工具。
步骤
1. 运行测试(如尚未运行)
检查是否存在近期的测试结果:
ls -la test-results/ playwright-report/ 2>/dev/null
如果没有近期结果,则运行测试:
npx playwright test --reporter=json,html,list 2>&1 | tee test-output.log
2. 解析结果
读取 JSON 报告:
npx playwright test --reporter=json 2> /dev/null
提取以下内容:
- 测试总数、通过数、失败数、跳过数、不稳定(flaky)测试数
- 每个测试及总计的耗时
- 失败测试的名称及错误信息
- 不稳定测试(重试后通过)
3. 检测报告目标位置
检查已配置的项并自动路由:
| 检查项 | 若已找到 | 操作 |
|---|---|---|
TESTRAIL_URL 环境变量 | 已配置 TestRail | 通过 /pw:testrail push 推送结果 |
SLACK_WEBHOOK_URL 环境变量 | 已配置 Slack | 将摘要发布到 Slack |
.github/workflows/ | GitHub Actions | 结果通过产物(artifacts)发送到 PR 评论 |
playwright-report/ | HTML 报告器 | 打开或启动该报告 |
| 以上均不满足 | 默认 | 生成 Markdown 报告 |
4. 生成报告
Markdown 报告(始终生成)
# Test Results — {{date}}
## Summary
- ✅ Passed: {{passed}}
- ❌ Failed: {{failed}}
- ⏭️ Skipped: {{skipped}}
- 🔄 Flaky: {{flaky}}
- ⏱️ Duration: {{duration}}
## Failed Tests
| Test | Error | File |
|---|---|---|
| {{name}} | {{error}} | {{file}}:{{line}} |
## Flaky Tests
| Test | Retries | File |
|---|---|---|
| {{name}} | {{retries}} | {{file}} |
## By Project
| Browser | Passed | Failed | Duration |
|---|---|---|---|
| Chromium | X | Y | Zs |
| Firefox | X | Y | Zs |
| WebKit | X | Y | Zs |
保存到 test-reports/{{date}}-report.md。
Slack 摘要(若已配置 Webhook)
curl -X POST "$SLACK_WEBHOOK_URL" \
-H 'Content-Type: application/json' \
-d '{
"text": "🧪 Test Results: ✅ {{passed}} | ❌ {{failed}} | ⏱️ {{duration}}\n{{failed_details}}"
}'
TestRail 推送(若已配置)
使用 JSON 结果调用 /pw:testrail push。
HTML 报告
npx playwright show-report
若在 CI 中运行:
echo "HTML report available at: playwright-report/index.html"
5. 趋势分析(若存在历史数据)
如果 test-reports/ 中存在之前的报告:
- 比较不同时间的通过率
- 找出近期变得不稳定的测试
- 区分新增失败与持续性失败
输出
- 包含通过/失败/跳过/不稳定数量的摘要
- 失败测试的详细信息及错误信息
- 报告位置确认
- 趋势对比(若有历史数据)
- 下一步行动建议(修复失败项或庆祝全部通过)
评论
支持 Markdown