Skip to content

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.json and 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.