测试工具

现行标准 — 最后更新

参与:
GitHub whatwg/testutils新建议题所有议题
Matrix 聊天
提交记录:
GitHub whatwg/testutils/commits
当前提交快照
@testutils
测试:
web-platform-tests testutils/进行中的工作
翻译 (非规范性):
简体中文

摘要

本文档定义了在浏览器中提供额外测试功能的 API。

1. 简介

测试浏览器通常需要使用一些专用的 API,这些 API 并不适合暴露给网页开发者,例如因为它们可能破坏平台的不变性,或允许可能危及用户安全的行为。这导致编写跨浏览器测试变得困难,因为每个 Web 平台的实现都有自己定义测试 API 的方式。WebDriver 标准提供了部分相关 API,主要用于 Web 应用的自动化测试。然而,对于浏览器实现本身的测试,还有一些额外的 API 不适合纳入 WebDriver 框架,但对测试来说依然很重要。

本规范定义了用于测试的额外浏览器内 API,但这些 API 并不适合为终端用户启用。其主要客户端是 web-platform-tests 测试套件。

2. 基础设施

本规范依赖于 Infra 标准。[INFRA]

本规范使用了 Web IDL 标准中的术语。[WEBIDL]

3. 可用性

本规范定义的接口不得在用户代理的默认发布配置中启用。它们只能在测试配置下启用,例如通过特殊的构建标志,或设置特定的非默认偏好项时启用。

4. TestUtils 命名空间

[Exposed=(Window,Worker)]
namespace TestUtils {
  [NewObject] Promise<undefined> gc();
};

gc() 方法必须执行以下步骤:

  1. 创建一个新的 promise p

  2. 并行运行以下操作:

    2.1 执行 实现定义的步骤,进行一次至少覆盖 入口 Realm 的垃圾回收。

    2.2 解析 p

致谢

感谢以下为测试工具标准做出贡献的人:

Kagami Sascha Rosylight

你太棒了!

本标准由 James GrahamMozillajames@hoppipolla.co.uk)撰写。

知识产权声明

版权所有 © WHATWG(Apple、Google、Mozilla、Microsoft)。本作品采用 知识共享署名 4.0 国际许可协议授权。若部分内容被纳入源代码,则该部分源代码采用 BSD 三条款许可证授权。

这是现行标准。对专利审查版本感兴趣的请查看 现行标准审查草案

索引

本规范定义的术语

引用定义的术语

参考文献

规范性引用

[HTML]
Anne van Kesteren 等. HTML 标准. 现行标准. URL: https://html.spec.whatwg.org/multipage/
[INFRA]
Anne van Kesteren; Domenic Denicola. Infra 标准. 现行标准. URL: https://infra.spec.whatwg.org/
[WEBDRIVER]
Simon Stewart; David Burns. WebDriver. URL: https://w3c.github.io/webdriver/
[WEBIDL]
Edgar Chen; Timothy Gu. Web IDL 标准. 现行标准. URL: https://webidl.spec.whatwg.org/

IDL 索引

[Exposed=(Window,Worker)]
namespace TestUtils {
  [NewObject] Promise<undefined> gc();
};