6fb9cd3a93
· id_aliases.json(+67/−7)与 scripts/rename_maps 两份映射表:批次二(保护功能号)与批次一 F-* 半批用 rename_ids 跑时自动写的别名与映射,早该随批入库——别名表是改名的**必需产物**, 留在工作区等于下一轮别人提交时被自家审计表当成新账(这类自循环历史上踩过四次)。 · test/host/net_socket 一行:F-* 收尾时漏 stage 的残留注释(B3 后向语义说明),属0054ae62的 同批内容,此处补上,全仓该族活引用至此归零。 · 覆盖率基线**重建**:上一版是在 time_sync 套件编译不过的破树下打的,少算了该套件覆盖;现在 用完整树重打,总闸 rc=0。 · simulator 两份 README 的页数 47→53 属a275539c漏项(我当时只 stage 了 docs 与 .dsh),补齐。 · 仓根残渣 undefined/(探针把变量当路径用生成的目录)与 tmp_dump_tc.py 移入 ci-artifacts/ quarantine/,内容原样保留,仓根清干净。
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` | **像素黄金参考(入库)**:53 页 × 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`
|