Agent 可观察性
本文档描述使桌面应用可通过现有 WDIO/Appium/tauri-driver 工具链被编码 agent(Codex、Claude Code、Cursor)检查的工件捕获层。
快速开始
bash app/scripts/e2e-agent-review.sh
工件位于:
app/test/e2e/artifacts/<ISO-timestamp>-agent-review/
01-welcome.png
01-welcome.source.xml
02-post-onboarding.png
mock-requests-after-onboarding.json
failure-<test>.png # 仅在失败时
meta.json # 运行元数据 + 检查点索引
组件
| 组件 | 路径 | 角色 |
|---|---|---|
| Helper | app/test/e2e/helpers/artifacts.ts | captureCheckpoint、saveMockRequestLog |
| WDIO hook | app/test/wdio.conf.ts (afterTest) | 任何失败测试时始终转储截图 + 源 |
| 规范 spec | app/test/e2e/specs/agent-review.spec.ts | Welcome → onboarding → privacy panel |
| Wrapper 脚本 | app/scripts/e2e-agent-review.sh | 构建 + 运行 + 打印工件目录 |
环境覆盖
| 变量 | 效果 |
|---|---|
E2E_ARTIFACT_DIR | 强制特定运行目录 |
E2E_ARTIFACT_ROOT | 父目录(默认:app/test/e2e/artifacts) |
E2E_ARTIFACT_LABEL | 标签(默认:agent-review) |
在新 specs 中使用 helper
import { captureCheckpoint, saveMockRequestLog } from '../helpers/artifacts';
import { getRequestLog } from '../mock-server';
await captureCheckpoint('after-connect-click');
saveMockRequestLog('after-connect-click', getRequestLog());
有意在范围之外的内容
- 每个组件状态的视觉基线/图像差异
- 每次点击时截图(太嘈杂)
- 实时集成(Gmail、Notion、Telegram);仅 mock 服务器
- 新测试框架/报告器
只有在证明这个循环可行后才扩展到更多流程。