Record real Playwright ledgers, mark 20 audits and 9 remediations done, and leave management-implementation-plan as plan-only.
2.4 KiB
2.4 KiB
title, status, created, updated, severity
| title | status | created | updated | severity |
|---|---|---|---|---|
| post-restart 项目名同时命中顶栏与侧栏 | done | 2026-09-13 | 2026-09-22 | high |
post-restart 项目名同时命中顶栏与侧栏
W3 UI-rerun 关闭(2026-09-22):
status=done。真实 Playwright 账本 PASS:ui-acceptance-results.json(main UI-00..16)+ui-acceptance-results-post-restart.json(UI-15)。任务 tip 已合入本地dev;详见 short-term 与 测试报告。
现象
第18轮真实 UI(schema 31):main 18 PASS / 0 FAIL。宿主重启 app 后 UI_PHASE=post-restart 在页面已经恢复项目时失败,尚未走到 revision-state。
strict mode violation: getByText('UI验收-超声微创系统-mu0eq020') resolved to 2 elements:
1) getByRole('banner').getByText(...)
2) getByTitle(...)
失败行:web/e2e/document-revision-runtime.spec.ts 原第 626 行。
根因分析
| 层 | 问题 |
|---|---|
| DOM | 顶栏 header(banner)写「当前项目:」+ 项目名;侧栏 aside 会话行 title/span 再写同一项目名 |
| 脚本 | 点击用 getByText(..., { exact: false }).first();恢复断言用页面级 getByText(项目名),strict 下双命中 |
| 产物 | playwright.config.ts 的 outputDir / HTML report 不按 UI_PHASE 分目录,第二阶段会覆盖主阶段 trace |
| 总账 | RESULTS_FILE 固定 ui-acceptance-results.json;post-restart recordPass 会覆盖 main 的 18 项 |
这是 UI 自动化可寻址缺口,不是项目未恢复。
严重度
high
关联整改
- Short-term: ../ops/short-term/2026-09-13-document-revision-post-restart-selector.md
- 分支:
fix/document-revision-post-restart-selector
证据
- 失败归档(只读,不改不删):
.doc/test-reports/assets/2026-09-13-document-revision-runtime-ui/schema31-postrestart-project-title-selector-failure/ error-context.md:项目名同时出现在 banner 与 complementary title
开放问题
- 本轮不重跑真实 post-restart;不得标 UI-15 通过或任务
done