4.1 KiB
Safari兼容性一致性证据说明
1. 目标与验证强度
cmd/safari-conformance用于把同一发布候选在macOS真实Safari上的关键流程结果形成safari-compatibility-conformance-report-v1。本项目采用最小充分矩阵:发布依据中的CURRENT和PREVIOUS两个Safari版本,各验证桌面1440×1000与平板响应式1024×900两种视口,以及六条关键业务流程,共24项结果。不在每个版本重复所有低风险按钮组合,也不以覆盖率或截图数量替代功能结论。
Playwright WebKit、Chrome、Edge、Windows上的浏览器或人工构造数据只能输出NON_SAFARI_TOOLCHAIN/external_validation_required=true。只有macOS真实Safari证据完整时,报告才为REAL_SAFARI/external_validation_required=false。
2. 六条关键流程
| 标识 | 验证范围 |
|---|---|
AUTH_SESSION |
OIDC登录、回调恢复、会话失效提示和重新登录 |
FAMILY_WORKSPACE |
家庭成员、长者授权、设备、固件、通话、故事记忆、分享和隐私八个页签可进入并正确渲染 |
OPERATIONS_WORKSPACES |
运行配置、费用额度、告警处置和联调诊断工作台可进入、刷新和恢复 |
REALTIME_NAVIGATION |
SSE已连接,工作台URL刷新、前进、后退和深链恢复正确 |
MEDIA_FILE_CONTROLS |
音频控件可播放;上传/下载确认区、Web Crypto摘要和私有对象访问无浏览器阻断 |
CONTROLLED_ACTIONS |
代表性页面内受控表单能打开、校验、取消,目标冻结且不依赖浏览器弹窗 |
每项结果必须为PASS,并要求控制台错误、非预期失败请求和横向溢出均为0。预期的401恢复、被取消SSE或有意阻断请求应在执行记录中说明,不能笼统计为0来隐藏异常。
3. 采集结构
输入使用safari-compatibility-capture-v1:
- 顶层绑定
candidate_version、build_digest、environment、版本发布依据、变更工单、执行人、独立复核人和采集时间; runs恰好覆盖CURRENT与PREVIOUS,两者browser_version必须不同;- 真实证据中
browser_name固定为Safari,同时记录macOS版本、脱敏机器引用以及SAFARIDRIVER或MANUAL_OBSERVED执行方式; - 每个运行包含六流程与两视口的12项
results,每项保存截图、视频、日志或人工记录引用; - 不保存登录令牌、Cookie、录音正文、字幕正文、匿名分享口令或个人敏感信息。
“最近两个版本”不硬编码到校验器。QA应在每次候选冻结时依据Apple公开发布信息或组织批准的浏览器基线登记release_reference_ref,把当时的版本映射为CURRENT/PREVIOUS,避免升级后仍把旧版本误报为最新。
4. 一致性检查与证据包门禁
报告执行11项检查:采集模式、来源、候选身份、候选绑定、环境身份、Safari版本覆盖、视口覆盖、流程覆盖、功能结果、证据引用和时间线。
SAFARI_COMPATIBILITY不可豁免。索引标记VERIFIED时,第一个文件必须是同候选的PASS/REAL_SAFARI报告,并完整包含24项结果。证据包清单中的safari_compatibility_validation汇总两个版本、运行数、结果数和缺口。非Safari报告或缺任一版本时必须保持PENDING。
5. 现场执行步骤
- 固定候选版本、镜像摘要、目标环境和Safari发布依据。
- 分别在两个真实Safari版本上执行两种视口;每个视口只跑六条关键流程。
- 保存脱敏截图/视频、控制台与网络失败摘要,并填写采集JSON。
- 由不同于执行人的QA复核版本、候选、错误计数和证据引用。
- 生成报告:
go run ./cmd/safari-conformance `
-capture E:\evidence\safari-capture.json `
-candidate-version 0.63.0-rc.1 `
-build-digest sha256:<64位摘要> `
-output E:\evidence\safari-report.json
- 将报告作为
SAFARI_COMPATIBILITY首个文件并重建候选证据包,确认coverage_complete=true。
本地仅验证采集与报告工具链:
.\scripts\smoke-safari-conformance-toolchain.ps1
该脚本不启动Safari、不声称页面兼容,也不会把外部门禁改为通过。