Web Platform Tests (WPT) 项目测试编写规范指南
前言
Web Platform Tests (WPT) 项目是用于验证Web平台规范实现一致性的测试套件。作为开发者,编写高质量的测试用例对确保Web标准的正确实现至关重要。本文将详细介绍WPT项目中编写测试用例的通用规范。
文件路径与命名规范
目录结构
- 建议遵循现有测试的组织结构,按规范章节创建子目录
- 考虑Windows系统的路径长度限制(不超过150字符)
文件命名
- 避免使用过于简单的名称(如
001.html
) - 推荐格式:
测试主题-序号.html
(如flexbox-layout-001.html
) - 文件名应简明扼要,避免使用连词、冠词和介词
- 序号采用3位数字格式(001-999)
特殊协议标记
- HTTPS测试:文件名需包含
.https.
(如secure-feature.https.html
) - HTTP/2测试:文件名需包含
.h2
文件格式与编码
支持格式
- HTML/XHTML
- XML/SVG
- JavaScript(用于testharness.js测试)
- Python(用于WebDriver规范测试)
编码要求
- 默认使用UTF-8编码
- 非UTF-8默认格式的文件需包含编码声明(如HTML中的
<meta charset=utf-8>
)
测试编写原则
简洁性原则
- 保持测试尽可能简短
- 避免不必要的页面元素
- 对于reftests,800×600分辨率下不应出现滚动条(除非测试滚动行为)
保守性原则
- 避免依赖非测试目标的边缘情况
- 确保测试在目标功能正确实现时通过,错误实现时失败
- 谨慎使用跨浏览器特性
跨平台兼容性
- 确保测试在不同设备、分辨率和环境下正常工作
- 字体使用规范:
- 优先使用Ahem字体(通过Web字体加载)
- 必要时使用
@font-face
自包含性
- 禁止依赖外部网络资源
- 多主机测试应使用预定义的子域名
自描述性
- 测试结果应直观明确
- 无需查阅规范即可判断测试通过/失败
代码风格规范
基本规则
- 禁止行尾空格
- 使用空格而非制表符缩进
- 使用UNIX风格换行符(LF)
代码检查工具
项目提供了lint工具用于检查代码规范问题,开发者应在提交前运行检查并修正所有问题。
CSS测试特殊要求
CSS规范测试除上述通用规范外,还需满足:
- 元数据要求
- 用户样式表规范
实用建议
-
复用资源:充分利用
/common/
、/media/
和/css/support/
目录中的现有资源 -
工具脚本:命令行工具脚本应放在
tools
子目录中(服务器会返回404防止直接访问) -
服务器特性:充分利用WPT服务器提供的各种测试特性,包括:
- 自定义域名支持
- 自定义HTTP头
- 文本替换功能
-
参考现有测试:编写新测试时,参考类似功能的现有测试是最佳实践
结语
遵循这些规范将确保您的测试用例质量高、可维护性强,并能有效验证Web标准的实现。记住,好的测试用例不仅验证功能正确性,还应具备清晰的通过/失败判断标准,同时保持跨平台兼容性。
通过参与WPT测试编写,您正在为Web平台的标准化和互操作性做出宝贵贡献。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考