About this project
web-platform-tests (WPT) is a cross-browser test suite for the web platform stack, covering specifications from WHATWG, W3C and other standards bodies. Writing tests that can run in all browsers gives browser projects confidence that they ship software compatible with other implementations, and gives web authors confidence they can rely on the platform across browsers and devices without extra abstraction layers.
Key resources:
- GitHub repository: canonical source history and discussion forum for code changes
- web-platform-tests.org: documentation site covering setup, writing tests, peer review and administration
- wpt.live: public deployment of the suite, runnable from any internet-enabled browser
- wpt.fyi: archive of test results collected regularly from a range of browsers
- Matrix chat room (#wpt:matrix.org) and a public low-traffic mailing list
- RFCs repository for substantial changes affecting stakeholders
Setup: clone the repository. Because branches are frequently created and deleted, pruning stale branches is recommended (git pull --prune).
Running tests: see the documentation site, particularly system setup for running tests locally.
Command-line tools: the wpt command fronts various tools, including wpt serve (start the HTTP server), wpt run (run tests in a browser), wpt lint (lint all tests), wpt manifest (update or generate MANIFEST.json), wpt install (install the latest browser or webdriver server locally), and wpt serve-wave (start the HTTP server plus the WAVE test runner).
Windows notes: wpt commands must be prefixed with python or the python binary path. Bash on Ubuntu on Windows is also an option. Git and editors should not auto-convert line endings (set git config core.autocrlf false) to avoid lint errors.
Publication: the master branch is automatically synced to wpt.live and w3c-test.org.
Contributing: anyone is welcome to contribute tests. The usual flow is fork, create a topic branch, make changes, run ./wpt lint, commit and push, then open a pull request.
AI policy: using LLMs to help author tests is generally acceptable, but every change must be attributable to a human who understands and takes responsibility for it. LLM participation in discussions is generally not acceptable; LLM-generated content must come from a bot account or be contained in a blockquote (short contributions) or details element.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.