Files
STM32F4-Base/simulator/tests
wandering1 345e12ebd7 test(ui-golden): 新增遥信量第 1、2 页像素参考
上一笔的两态基线单独提交(基线变化与代码变化分笔,回归时能一眼看出是图变了还是代码变了)。
- shot_yx.bin:第 1 页 8 行**全是 "--"**——位置1~4 是无硬件的双点、YX5~8 点表未定义。这一页的
  作用是把「V0.1 只有 6 点有来源」钉成图像证据:以后谁把无效位画成「复归」,或反过来把有效位
  画成横杠,都会在这里响。
- shot_yxp2.bin:第 2 页出现两个有来源的行(故障总 / 过流Ⅰ段 = 复归),同时选中行落在第 2 页
  首行(YX9)——一张图同时钉住分页数学(33 行 / 8 = 5 页)与"翻页后取值不串行"。
- 先证语义再钉像素:33 条文本断言全过之后才 --update 建基线(顺序反过来就是把错画面合法化);
  其余 19 页参考逐字节不变。
2026-10-25 15:33:43 +08:00
..

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 像素黄金参考(入库):11 页 × 3200 B,160×160 单色打包

使用方式

# 跑回归(按 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