返回知识中心
平台

使用 Web Platform Tests 建立浏览器功能信心

结合 Web Platform Tests、运行时能力检查和应用断言,评估浏览器功能的可靠边界。

文档中心

想直接进入 平台 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

网页测试连接能力检查和应用结果

Web Platform Tests 在声明条件下提供规范证据,但不保证每个应用流程都能成功。应分开记录规范、共享测试、页面能力检查和用户可见的应用结果。能力存在不代表用户身份或设备类别。

选择 WPT 证据

查看 WPT 仓库 和 testharness API。记录测试路径、规范章节、浏览器版本、来源、权限和日期。跳过、试验性或预期失败的测试需要保留备用路径。

结合元数据阅读结果。安全上下文、用户手势或权限策略可能让本地运行不同。复用 fixture 前检查许可证、依赖和清理行为。

运行时能力检查

在调用前检查实际需要的方法,区分缺失、可用、拒绝、失败和完成。属性存在不能证明权限、服务可达或服务器写入成功。

保留用户输入并提供键盘可用的备用操作。记录来源、安全上下文、版本、状态、备用路径和可见结果,不采集无关属性。

决策表

观察决定可见结果边界
声明矩阵中的 WPT 通过纳入候选能力检查后尝试规定条件下的符合性
WPT 跳过或试验性检查元数据保留备用路径测试覆盖
方法缺失或上下文受限使用备用操作保留任务页面能力
调用被拒绝分类一次显示恢复操作浏览器行为
调用完成验证应用确认可见信号浏览器与应用

失败 fixture

fixture 创建自己的控件,只模拟自有 API,检查可见文字,并在所有分支删除节点。不要修改指纹或发送凭据。

async function run() {
  const host = document.createElement('div');
  host.innerHTML = '<p id="status"></p><button id="fallback" hidden>使用备用操作</button>';
  document.body.append(host);
  const status = host.querySelector('#status');
  const fallback = host.querySelector('#fallback');
  try {
    const ok = typeof navigator.share === 'function';
    const result = ok
      ? await navigator
          .share({ title: '合成项目', url: '/fixture' })
          .then(() => 'done')
          .catch(() => 'failed')
      : 'missing';
    status.textContent = result === 'done' ? '已完成' : '请使用备用操作';
    if (result !== 'done') fallback.hidden = false;
    console.assert(status.textContent && (result === 'done' || !fallback.hidden));
    return result;
  } finally {
    host.remove();
  }
}

应用验证

调用后验证应用所属的状态消息、控件或记录。promise 成功不代表服务器已保存记录。分开验证浏览器与应用结果,并测试焦点、键盘、标签和恢复路径。

浏览器版本、规范、安全上下文、权限或 harness 变化后,重新运行矩阵。保存 WPT 路径、状态、备用路径和复核日期,不保留个人内容。

BotBrowser:范围

BotBrowser 可为授权的 WPT 参考流程和重复能力检查提供受控上下文。隔离上下文分开可变状态并比较可见结果。

它不认证 WPT、不授予权限、不把来源变为安全上下文、不替代规范基础设施,也不证明服务器事务。BotBrowser 隔离文档说明可重复性,不是普遍兼容保证。

另请阅读浏览器 API 兼容与回退指南和 WebDriver BiDi 指南。

BotBrowser 可提供授权的 WPT 参考流程和可重复的受控上下文检查,但不保证规范符合性、不授予权限,也不替代业务事务证明。请同时记录能力和限制。

当规范、WPT、浏览器矩阵、应用和 fixture 各有负责人时,信心更可靠。记录路径、版本、来源、状态、备用操作和可见结果。

诚实使用负面证据。跳过、拒绝或超时都应分类,不能隐藏为通过;在应用证据充分前保留备用路径。

保存包含 WPT 路径、版本、上下文、状态、可见断言和备用操作的简短记录。

用同一 fixture 比较候选版本和上一版本,并保留第一个有意义的失败。

为每个例外记录负责人和复核日期。

注明可见备用操作,便于支持人员复现结果。

让未运行浏览器的人也能读懂记录,并说明边界、结果和下一步。

这样有限证据不会变成普遍承诺。

同时记录日期和下一次复核负责人。

这样浏览器信心可以持续更新。

结果应保留规范符合性与应用行为之间的边界。

不要把受控上下文描述为普遍保证。

来源

#Web Platform Tests#浏览器兼容性#规范测试#能力检测#测试信心

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。