feat(chv): 阶段 4 截图三级管线——a11y 角色解析 + diff_shot 逐像素裁剪 + verify_shot 全屏校验
- snapshot 纯字符串解析 a11y 角色计数/interactive/字符数/hash (不跑 JS、不取原始 DOM,禁 op 保持拒绝);status 带计数器 与 verify_share - diff_shot:PNG 全帧 Pillow 逐像素比对(单通道阈值 10), 无变化 changed:false size 0;有变化 bbox 外扩 8px、钳制视口、 宽高下限 32px,再 clip 截 JPEG q70;Pillow 缺失如实报错并 指引回落 screenshot 全帧;open 不清基线(跨页局部差分靠它) - verify_shot:全帧 JPEG q70,只用于检查点 - build.sh 与 playwright 同批 pip 装 pillow(只加 pillow); buildinfo BASE_CONTENTS 登记 pillow(pip 名覆盖) - 单测 cloud/tests/test_chv_opt_stage4.py:31 项(bbox 纯函数、 a11y 解析、计数器、Pillow 缺失回落、禁 op、lockfile 往返)
This commit is contained in:
1 parent
5dc75128f8
commit
f723eb8a88
4 files changed
+893
-6
No files matched your search
+4
-1
@@ -373,8 +373,11 @@ else
|
||||
echo "警告:cloud/chv/guest/vsock_notify.py 不在仓库里(P1 未合并),镜像暂不含 vsock notify" >&2
|
||||
fi
|
||||
if [ "${PLAYWRIGHT:-1}" = "1" ]; then
|
||||
# 阶段 4:与 playwright 同批 pip 装 pillow(diff_shot 的逐像素
|
||||
# 比对与 JPEG 编码用)。只加 pillow,不动其它包版本;BUILDINFO
|
||||
# 的 pip freeze 会自然记录 pillow 版本,lockfile 按 pip 名覆盖。
|
||||
VC_ARGS+=(
|
||||
--run-command '(pip3 install --no-cache-dir --break-system-packages playwright || pip3 install --no-cache-dir playwright) && PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/ms-playwright python3 -m playwright install --with-deps chromium-headless-shell'
|
||||
--run-command '(pip3 install --no-cache-dir --break-system-packages playwright pillow || pip3 install --no-cache-dir playwright pillow) && PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/ms-playwright python3 -m playwright install --with-deps chromium-headless-shell'
|
||||
--run-command 'dpkg-query -W -f "\${Package} \${Version}\n" > /app/guest-versions-dpkg.txt; pip3 freeze > /app/guest-versions-pip.txt || true'
|
||||
--run-command 'ls /usr/local/share/ms-playwright/ > /app/guest-versions-chromium.txt 2>/dev/null || true')
|
||||
fi
|
||||
|
||||
Reference in new issue
Block a user