13f784430d
上一笔 31ca4a1f 的「全仓同步」漏了几处当前态计数,按实测真值补齐:
simulator/tests/ref/shot_*.bin 实测 47 张、check_content_pages.py 的 PAGES 47 项。
· simulator/README.md 文件职责表「内容页 40 页」→ 47 页
· simulator/README.md 脚本表「③ 40 页无头截图」→ 47 页
· simulator/tests/README.md 文件表「40 页 × 3200 B」→ 47 页
· .dsh/skills/lvgl-simulator/SKILL.md 五步门禁「11 页黄金参考」→ 47 页
(同一计数的更早残留,一并改成真值)
不改:各文档变更记录里的「27 → 40」历史行,以及 UI_自动化测试流程里
「覆盖当时 40 页中的 37 页」的 2026-10-26 测量口径——当时就是那个数。
零源码改动,golden 参考本体未动。
39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
# simulator/tests/ — UI 模拟器无头回归测试
|
||
|
||
> PC 端**无头**(headless)UI 像素回归测试:在模拟器中渲染各页面,与**黄金参考图**比对,
|
||
> 检测 UI 改动是否引入像素级回归。属于 `ui-verify` skill 五步门禁的一部分。
|
||
|
||
## 文件一览
|
||
|
||
| 文件 | 作用 |
|
||
|---|---|
|
||
| `check_menu_rows.py` | **菜单像素回归**:渲染菜单行 → 与黄金参考比对 |
|
||
| `check_content_pages.py` | **内容页回归**:各内容页渲染比对 |
|
||
| `check_remo_sink.py` | **推流(RemoDispBus)回归**:接收端渲染比对 |
|
||
| `regen_ref_png.py` | 由 `ref/*.bin` 批量出**目检 PNG**(不产生基准;基准由 `check_content_pages.py --update` 刷) |
|
||
| `ref/*.bin` | **像素黄金参考(入库)**:47 页 × 3200 B,160×160 单色打包 |
|
||
|
||
## 使用方式
|
||
|
||
```bash
|
||
# 跑回归(按 ui-verify skill 流程)
|
||
& '.venv\Scripts\python.exe' simulator/tests/check_menu_rows.py
|
||
& '.venv\Scripts\python.exe' simulator/tests/check_content_pages.py
|
||
|
||
# UI 有意变更、确认无误后重建基准
|
||
& '.venv\Scripts\python.exe' simulator/tests/regen_ref_png.py
|
||
```
|
||
|
||
## ⚠️ 注意
|
||
|
||
- **重建黄金参考前必须确认变更是有意的**——否则会把 bug 固化成"基准"
|
||
- `ref/*.bin` 已入库:刷参考 = 改基准,`git diff` 里会显形,提交正文必须写明为什么变
|
||
- `ref/*.png` 只是给人看的派生物(已忽略),刷完 `.bin` 要重跑 `regen_ref_png.py` 才对得上
|
||
- UI 改动一律走 **`ui-verify` skill 五步门禁**(regression 是其中一步)
|
||
- 依赖模拟器已构建(`simulator/build_sim.bat`)
|
||
|
||
## 相关文档
|
||
|
||
- `docs/UI设计/UI_自动化测试流程.md` — ui-verify 五步门禁
|
||
- `docs/UI设计/LVGL模拟器部署与使用说明.md`
|