test: add workbench layout smoke

This commit is contained in:
Code Queue Review
2026-05-23 08:38:18 +00:00
parent 9f3de7315d
commit 973f951135
5 changed files with 979 additions and 50 deletions
+30
View File
@@ -97,10 +97,40 @@ when identity drift blocks the full journey. It never sends `POST
must not be used as a DEV-LIVE reply, Secret, mutation, or M3/M4/M5 acceptance
claim.
## Layout Smoke
`scripts/dev-cloud-workbench-layout-smoke.mjs`#273 前端布局/遮挡护栏的
runner 入口。它使用 Playwright 覆盖 `1366x768``1024x768``390x844`
三档视口,检查 M3 控制区、Code Agent 输入区、右侧硬件/可信记录容器、当前
`/gate` 内部页、外层滚动锁和内部面板滚动。命中测试使用真实 Playwright
点击与 `document.elementsFromPoint()`;不得使用 `force: true` 或纯 DOM
dispatch 绕过用户命中。
常用命令:
```sh
node scripts/dev-cloud-workbench-layout-smoke.mjs --static --report reports/dev-gate/dev-cloud-workbench-layout.json
node scripts/dev-cloud-workbench-layout-smoke.mjs --build --report reports/dev-gate/dev-cloud-workbench-layout-build.json
node scripts/dev-cloud-workbench-layout-smoke.mjs --live --url http://74.48.78.17:16666/ --report reports/dev-gate/dev-cloud-workbench-layout-live.json
```
报告字段必须能定位 `status=pass|blocked|skip``viewport``selector`
`failureType` 和 artifact 路径。当前允许的 `failureType` 包括 `overlap`
`covered-hit-target``overflow``outer-scroll-regression``screenshot-diff`
以及未上线覆盖项的 `skip`。脚本会保存右侧面板、M3 控制表单、Code Agent
输入区和 `/gate` 当前页局部截图,但不做整页像素 diff 门禁。
#287 的硬件状态标签化和 #288 的 `/gate` 单一大表如果尚未上线,layout smoke
只能把对应覆盖项记录为 `skip`,同时继续检查当前可见容器的溢出、遮挡和外层
滚动。该 UI smoke 只能证明布局/可点击性护栏通过,不等于 M3 DEV-LIVE 硬件
闭环通过,也不能替代 #227 的 DO/DI 功能验收。
## Stable Sources
- [pikasTech/HWLAB#99](https://github.com/pikasTech/HWLAB/issues/99): default
Cloud Workbench direction.
- [pikasTech/HWLAB#273](https://github.com/pikasTech/HWLAB/issues/273):
Playwright layout/overlap smoke guardrail.
- [pikasTech/HWLAB#108](https://github.com/pikasTech/HWLAB/issues/108): no
outer scroll, Chinese UI, internal Markdown help.
- [code-agent-chat-readiness.md](code-agent-chat-readiness.md): Code Agent