Getting started with Webperf Core
There are four ways in. Pick the one that matches what you're doing.
Choose an installation method
| Method | Best for | Difficulty |
|---|---|---|
| Quickstart | Seeing what the tool does | Easy |
| Local install | Development and private websites | Medium |
| Docker | Servers and reproducible runs | Medium |
| GitHub Actions | Automatic tests on every change | Advanced |
graph TD
A[What are you doing?] --> B{Purpose}
B -->|Trying it once| C[Quickstart]
B -->|Testing regularly| D{Where should it run?}
D -->|My own machine| E[Local install]
D -->|Server or cloud| F{Do you have Docker?}
F -->|Yes| G[Docker]
F -->|No| H[GitHub Actions]
B -->|On every code change| H
System requirements
Hardware
- RAM: at least 4 GB, 8 GB recommended
- Disk: at least 2 GB free
- CPU: the tests drive real browsers and are processor-intensive
Software (local install)
- Python 3.13 or later. That's the requirement in the project's own install guide, and the version every regression test runs on.
- Node.js 24 or later. The requirement is declared in
package.jsonand older versions are rejected at install time. - Google Chrome or Firefox. Chrome is the default and is used by most tests.
- Git, optional but handy.
Node 20 is no longer enough
The requirement was raised to Node 24. Run node --version before troubleshooting anything else. An outdated Node is the most common reason npm install fails.
Network
- Internet access to reach the website you're testing.
- The email test (24) would like to use port 25, which is often blocked on home broadband and always on GitHub Actions. The test still runs, with fewer checks.
- The DNS test (32) runs Zonemaster in a Docker container, so it needs Docker.
Quick picks
-
I just want to see what it looks like
Quickstart gets you to a first result in under five minutes.
-
I'm a developer
Local install gives you the full setup and the ability to contribute.
-
I want to automate
GitHub Actions runs the tests on every push or on a schedule.