返回知识中心
平台

Headless 与 Headed 浏览器 Profile 一致性

验证浏览器 profile 在 headless 与 headed 会话中的平台身份、存储策略、渲染和用户工作流一致性。

BotBrowser Team

文档中心

想直接进入 平台 文档吗?

这篇文章属于知识中心的指南库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

Headless 和 headed 会话可以使用同一个 profile,但显示和交互路径可能不同。BotBrowser 支持带 profile 的启动与记录的显示路径,但工作流结果、宿主环境和第三方应用仍由使用方负责。Profile 一致性评估应在两种模式中运行完整的支持工作流,同时记录版本、宿主、显示服务和存储策略。

对比 headed 交互路径与 headless 服务器路径,验证同一 profile 的工作流一致性。

TL;DR

  • 将浏览器版本、profile family、宿主、显示路径、路由和存储规则放在同一条审查记录中。
  • 在 headed 与 headless 行中比较相同的可见工作流,再逐项判断差异来源。
  • 桌面结果只适用于记录的目标行;移动和浏览器族目标必须单独验证。

Contents

BotBrowser 文档说明了基于 profile 的 headless 启动方式,以及在 headed 模式下使用显式窗口和屏幕策略验证截图的工作流。但这不保证不同宿主、图形系统或已安装字体具有相同的显示、交互或渲染行为。

定义支持组合

记录 BotBrowser 版本、匹配的 profile family、目标平台、宿主系统、浏览器模式、显示服务、路由和存储策略。选择一个代表真实部署的工作流,固定起始状态和 journey revision,再比较两种模式。

使用完整工作流

空白页面只能验证启动。选择需要显示、图形、存储或交互的真实流程,记录页面状态、控件、输入、截图或报告结果,以及正常退出。若页面或流程已经变化,先更新 revision 再比较浏览器。

明确显示和存储路径

Headed 依赖可见显示路径,headless 可能使用不同的显示服务或渲染后端。目标不是所有环境像素完全相同,而是在选定 profile 和文档化支持边界内得到可接受的流程结果。明确哪些状态应保存,哪些状态必须清除,并在受控重启后验证。

检查移动和浏览器族目标

移动或 WebKit-family 目标可能有不同 viewport、输入模型、Worker 表面、图形能力和存储策略。为这些目标单独建立矩阵行,不要用桌面结果代表所有平台。浏览器更新、profile 刷新、宿主镜像或显示服务变化后重新运行窄流程。浏览器族 profile 的评估可参阅WebKit 家族 Profile 的跨信号一致性。

小规模推广

先选择代表生产的宿主、目标 profile、路由、存储和流程的小组。指定可以暂停和回滚的负责人。若小组结果不同,先暂停该组,再逐项比较 release 记录,避免同时修改浏览器、profile 和宿主。

比较什么

首先比较用户可见结果:页面是否到达预期状态,控件是否可用,表单是否保留允许的输入,截图或渲染结果是否满足工作流,以及重启后是否符合存储规则。

随后检查产品承诺范围内的信号族。显示几何、图形能力、语言、时区、权限和浏览器身份应整体判断。单一属性不代表完整 profile 一致。目标平台与宿主系统不同时的做法,可参阅在 macOS 和 Linux 上运行 Windows 浏览器配置文件。

不要用空白页面作为验收。需要图形、存储或交互的工作流才会暴露真正的差异。

明确显示路径

为每个模式记录 displayService、graphicsBackend、viewport 和 device scale,并在其中任一项变化后重新验证。验收目标是指定 profile 的支持工作流达到记录的可见结果,而非要求所有宿主输出相同像素。不同渲染后端的验证方法可参阅不同渲染后端的浏览器隐私验证。

检查存储和返回路径

服务器会话常常与工作站使用不同的生命周期。明确哪些状态应保留,哪些状态必须清除。保持 profile、存储路径和路由分配不变,完成一次受控重启后检查结果。对需要编辑数据的流程加入返回、修改和再次提交路径。

相关内容

跨平台浏览器一致性评估 介绍宿主和目标矩阵。WebKit-Family Profile Consistency 介绍浏览器族 profile 评估。Browser Interaction Validation 介绍完整用户工作流和回滚。屏幕与窗口指纹 介绍显示相关检查。

验收清单

实践结论

将浏览器、profile、显示服务、路由和存储策略作为一个可回滚的发布单元。这个单元中属于浏览器的部分是二进制身份,而不是一个参数:统一 headless 与旧版 shell 报告的内容并不相同。,先比较完整工作流,再扩大目标范围。公开记录只保留可见结果和支持边界,不保存凭据或页面内容。

Public sources

  • BotBrowser

  • Playwright BrowserType API

  • 将浏览器版本和 profile family 放在同一记录中。

  • 在两种模式中比较真实支持的工作流。

  • 记录显示服务、渲染后端、宿主、目标、路由和存储策略。

  • 检查信号族,不只检查一个属性。

  • 为移动和浏览器族目标单独建立验证行。

  • 小规模推广并保留回滚路径。

DRM 显示和许可证边界可参阅Widevine 与无头浏览器的 DRM 能力边界。

#Headless 浏览器#Headed 浏览器#浏览器 Profile#Profile 一致性#跨平台浏览器

本文属于指南: Web 平台能力面:一致性复核地图

在 BotBrowser 里跑一遍同样的检查

加载 profile,让刚读到的这些信号在浏览器内部保持一致,并在正式上线前先在自己的机器上确认结果。