Headless 与 Headed 浏览器 Profile 一致性
验证浏览器 profile 在 headless 与 headed 会话中的平台身份、存储策略、渲染和用户工作流一致性。
Headless 和 headed 会话可以使用同一个 profile,但显示和交互路径可能不同。Profile 一致性评估应在两种模式中运行完整的支持工作流,同时记录版本、宿主、显示服务和存储策略。
定义支持组合
记录 BotBrowser 版本、匹配的 profile family、目标平台、宿主系统、浏览器模式、显示服务、路由和存储策略。选择一个代表真实部署的工作流,固定起始状态和 journey revision,再比较两种模式。
使用完整工作流
空白页面只能验证启动。选择需要显示、图形、存储或交互的真实流程,记录页面状态、控件、输入、截图或报告结果,以及正常退出。若页面或流程已经变化,先更新 revision 再比较浏览器。
明确显示和存储路径
Headed 依赖可见显示路径,headless 可能使用不同的显示服务或渲染后端。目标不是所有环境像素完全相同,而是在选定 profile 和文档化支持边界内得到可接受的流程结果。明确哪些状态应保存,哪些状态必须清除,并在受控重启后验证。
检查移动和浏览器族目标
移动或 WebKit-family 目标可能有不同 viewport、输入模型、Worker 表面、图形能力和存储策略。为这些目标单独建立矩阵行,不要用桌面结果代表所有平台。浏览器更新、profile 刷新、宿主镜像或显示服务变化后重新运行窄流程。
小规模推广
先选择代表生产的宿主、目标 profile、路由、存储和流程的小组。指定可以暂停和回滚的负责人。若小组结果不同,先暂停该组,再逐项比较 release 记录,避免同时修改浏览器、profile 和宿主。
比较什么
首先比较用户可见结果:页面是否到达预期状态,控件是否可用,表单是否保留允许的输入,截图或渲染结果是否满足工作流,以及重启后是否符合存储规则。
随后检查产品承诺范围内的信号族。显示几何、图形能力、语言、时区、权限和浏览器身份应整体判断。单一属性不代表完整 profile 一致。
不要用空白页面作为验收。需要图形、存储或交互的工作流才会暴露真正的差异。
明确显示路径
Headed 会话依赖可见显示路径,headless 会话可能使用不同的显示服务或渲染后端。记录这些输入,并在它们变化后重新验证。目标不是让所有环境输出完全相同,而是确认支持工作流得到所需结果,同时 profile 与环境保持协调。
检查存储和返回路径
服务器会话常常与工作站使用不同的生命周期。明确哪些状态应保留,哪些状态必须清除。保持 profile、存储路径和路由分配不变,完成一次受控重启后检查结果。对需要编辑数据的流程加入返回、修改和再次提交路径。
相关内容
跨平台浏览器一致性评估 介绍宿主和目标矩阵。WebKit-Family Profile Consistency 介绍浏览器族 profile 评估。Browser Interaction Validation 介绍完整用户工作流和回滚。屏幕与窗口指纹 介绍显示相关检查。
验收清单
- 将浏览器版本和 profile family 放在同一记录中。
- 在两种模式中比较真实支持的工作流。
- 记录显示服务、渲染后端、宿主、目标、路由和存储策略。
- 检查信号族,不只检查一个属性。
- 为移动和浏览器族目标单独建立验证行。
- 小规模推广并保留回滚路径。