fix: improve web-probe evidence summaries (#466)
Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
@@ -38,9 +38,14 @@ bun scripts/cli.ts hwlab nodes web-probe run --node D601 --lane v03
|
||||
|
||||
```bash
|
||||
bun scripts/cli.ts hwlab nodes web-probe script --node D601 --lane v03 <<'JS'
|
||||
export default async ({ page, gotoStable, screenshot, fetchJson, safeEvaluate }) => {
|
||||
export default async ({ page, gotoStable, screenshot, fetchJson, fetchApiMatrix, recordStep, safeEvaluate }) => {
|
||||
await page.route('**/v1/agent/conversations**', route => setTimeout(() => route.continue(), 1000));
|
||||
await gotoStable('/workbench');
|
||||
const apiMatrix = await fetchApiMatrix([
|
||||
'/v1/workbench/workspace?projectId=prj_hwpod_workbench',
|
||||
'/auth/session'
|
||||
]);
|
||||
recordStep('workbench-ready', { url: page.url(), apiMatrixOk: apiMatrix.ok });
|
||||
return {
|
||||
url: page.url(),
|
||||
workspace: await fetchJson('/v1/workbench/workspace?projectId=prj_hwpod_workbench'),
|
||||
@@ -57,7 +62,8 @@ JS
|
||||
- 先通过 `gotoStable`、`waitWorkbenchReady` 或等价导航进入目标 origin,再用 `fetchJson` 读同源 API;不要在 `about:blank` 上请求 `/v1/...`。
|
||||
- Workbench 有 SSE/长轮询时不要用 `networkidle` 判断通过;用明确 DOM/API 条件,如 final URL、route conversationId、active tab、message card、trace row 或 workspace `selectedConversationId`。
|
||||
- Playwright `page.evaluate` 只能传一个可序列化参数;多个值包成对象,或用 `safeEvaluate(fn, { a, b })`。
|
||||
- 失败证据至少保留 `failureKind`、`errorMessage`、`scriptSha256`、`runDir`、`lastUrl`、`lastScreenshot`;默认失败截图是 `failure.png`。
|
||||
- 脚本中用 `recordStep(name, data)` 保存关键 DOM/API partial evidence;API 批量探测优先用 `fetchApiMatrix(paths)`,单个 API 失败不应让后续证据丢失。
|
||||
- 失败证据至少保留 `failureKind`、`errorMessage`、`scriptSha256`、`runDir`、`lastUrl`、`lastScreenshot`、`probe.summary` 和 `reportPath`/`reportSha256`;默认失败截图是 `failure.png`。
|
||||
|
||||
## Fake-Server Playwright
|
||||
|
||||
|
||||
Reference in New Issue
Block a user