Skip to content

报告 · Reports

每次 DSL 测试完成后,Tapilot 生成一个报告包(report pack)。

目录结构

tests/reports/2026-04-24T12-34-56/my-login-test/
├── run.md              # 人读的 step-by-step Markdown
├── summary.json        # 结构化结果(CI 解析)
├── screenshots/
│   ├── 01-launch.png
│   ├── 02-after-login.png
│   └── ...             # 每步 + 断言失败自动截
├── recording.mp4       # 完整屏幕录制(Android/iOS)
├── logcat.txt          # Android logcat / iOS syslog
└── artifacts/          # OCR 结果 / 视觉断言原文 / metrics

run.md 长啥样

markdown
# my-login-test

- id: my-login-test
- platform: both
- solver: dsl
- duration: 12.4s
- result: ✅ PASS

## Steps

| # | Action | Args | Result | Time |
|---|---|---|---|---|
| 1 | openBrowser | {url, headless:true} | browser opened | 3.2s |
| 2 | webType | {selector, text} | typed | 180ms |
| 3 | webAssert | {selector:".dashboard", visible:true} | pass | 45ms |

![01-launch](./screenshots/01-launch.png)

summary.json(CI 解析)

json
{
  "id": "my-login-test",
  "result": "pass",
  "duration_ms": 12400,
  "steps": 15,
  "steps_passed": 15,
  "steps_failed": 0,
  "screenshots": 7,
  "artifacts": ["logcat.txt", "recording.mp4"]
}

云上传

报告可以上传到 app.tapilot.dev/reports/upload(需要项目 API key),之后在 Admin UI 查看:

bash
curl -X POST https://app.tapilot.dev/api/reports/upload \
  -H "Authorization: Bearer $TAPILOT_TOKEN" \
  -F "pack=@tests/reports/latest.tar.gz"

桌面 App 打开

bash
pnpm -C apps/desktop tauri dev
# History 页 → 选你的 run → 三栏视图(timeline + screenshot + logs)

保留策略

默认保留 30 天100 次 run(先到的先删),可改 .env.local:

bash
REPORT_MAX_DAYS=90
REPORT_MAX_RUNS=500

Released under MIT License.