Skip to content
SPECIFICTION
Get listed

Web Test Runner

modern-web.dev

Free plan WebWindowsmacOSLinuxSelf-hosted

What it is

Web Test Runner is a test runner for web applications, installable as an npm development dependency. It runs tests in parallel and isolation, giving each test file its own browser environment. Headless testing is supported through launchers including Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO. Playwright can use Chromium, Firefox, and WebKit; BrowserStack runs tests remotely, including against older browser versions. Debug mode opens a browser window with developer tools, and the runner reports browser logs, 404 responses, and errors. Its command line offers interactive watch mode that reruns tests when files change, plus code coverage with configurable thresholds and reports. Default coverage instrumentation uses Chromium. Other features include ES module mocking through import maps and Mocha integration, with guidance for a custom test framework. The project is MIT-licensed, powered by esbuild and Rollup plugins, and directs users to GitHub and Discord for help and discussion. It is free and open source.

Spec sheet

Purpose
Web Test Runner is a test runner for web applications.Read 3 Oct 2026 · modern-web.dev
Integrations
The docs describe using the Playwright launcher with GitHub Actions via Microsoft's Playwright Action.Read 3 Oct 2026 · modern-web.dev
Support
The project links to Discord for community discussion and lists sponsorship and contributions as ways to support it.Read 3 Oct 2026 · github.com
License
The project's GitHub page identifies the repository license as MIT.Read 3 Oct 2026 · github.com
Maker
Modern Web describes its goal as providing developers with guides and tools for modern web development while working closely with the browser.Read 3 Oct 2026 · modern-web.dev
Browser coverage
The Playwright launcher supports bundled Chromium, Firefox, and WebKit browsers.Read 3 Oct 2026 · modern-web.dev
Browser diagnostics
It reports browser logs, 404 responses, and errors.Read 3 Oct 2026 · modern-web.dev
Browser integrations
Playwright can run tests on Chromium, Firefox, and WebKit; BrowserStack and Sauce Labs launchers are also documented.Read 2 Oct 2026 · modern-web.dev
Browser launchers
Documented launchers include Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO.Read 3 Oct 2026 · modern-web.dev
Browser testing
It can run tests in headless browsers using Puppeteer, Playwright, Selenium, or WebdriverIO.Read 2 Oct 2026 · modern-web.dev
Build tooling
The runner is powered by esbuild and Rollup plugins.Read 2 Oct 2026 · modern-web.dev
Code coverage
Coverage supports configurable thresholds and reports, while the default coverage instrumentation uses Chromium.Read 3 Oct 2026 · modern-web.dev
Debugging
Debug mode opens a real browser window with developer tools.Read 3 Oct 2026 · modern-web.dev
Execution
Tests run in parallel and isolation, and watch mode reruns tests when files change.Read 3 Oct 2026 · modern-web.dev
Installation
The official installation instructions use npm to add @web/test-runner as a development dependency.Read 3 Oct 2026 · modern-web.dev
Maker focus
Modern Web says its goal is to provide developers with guides and tools for building for the modern web while working closely with browser capabilities.Read 2 Oct 2026 · modern-web.dev
Module mocking
The runner can mock ES modules using import maps.Read 3 Oct 2026 · modern-web.dev
Parallel and isolated tests
Tests run in parallel and in isolation, with each test file in its own browser environment.Read 2 Oct 2026 · modern-web.dev
Project status
Modern Web says its code is open source and publicly available on GitHub, with packages published under the @web npm namespace.Read 2 Oct 2026 · modern-web.dev
Remote testing
The BrowserStack launcher runs tests remotely, and the docs say it can be useful for older browser versions.Read 3 Oct 2026 · modern-web.dev
Support and contributions
The site directs users to GitHub for help and feedback and invites contributions to its documentation.Read 2 Oct 2026 · modern-web.dev
Test framework
The documentation includes Mocha as a test framework and allows users to write their own framework.Read 3 Oct 2026 · modern-web.dev
Watch mode and coverage
The command line supports interactive watch mode and code coverage profiling.Read 2 Oct 2026 · modern-web.dev

Plans and prices

Open source Free MIT-licensed project · installable as an npm development dependency Read 3 Oct 2026 · github.com

Every Web Test Runner plan and price →

Strong points and limits

Strong points

  • Runs test files in parallel and isolation.
  • Playwright supports Chromium, Firefox, and WebKit.
  • Watch mode reruns tests after file changes.
  • Coverage offers configurable thresholds and reports.
  • MIT-licensed and free to install.

Limits

  • Default coverage instrumentation uses Chromium.
  • Installation is as an npm development dependency.
  • BrowserStack remote tests use a documented launcher.

Who it suits

It suits developers testing web applications across browsers or integrating tests into command-line workflows. Teams needing remote browser runs can use the documented BrowserStack launcher.

Web Test Runner in depth

Read the full write-up

Web Test Runner is a browser-based test runner for web applications, best suited to developers who need to check behavior across real browser engines. Its free, open-source model is compelling; its main caveat is that coverage instrumentation defaults to Chromium.

Overview

Tests run in parallel, with each file receiving its own browser environment. That helps isolate test files while making browser-focused suites a practical fit for projects where execution context matters. Watch mode reruns tests when files change, reducing the friction of iterating on a suite.

Install it as an npm development dependency with @web/test-runner. Modern Web publishes packages under the @web namespace and directs users to GitHub for help and feedback. The project is MIT-licensed, and its maintainers invite contributions to the documentation.

Key features

Browser execution and diagnostics

Documented launchers include Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO. Playwright supports Chromium, Firefox, and WebKit, and BrowserStack enables remote runs, including against older browser versions. This breadth helps teams choose an execution environment suited to their browser needs, though the launcher choice is part of the project setup.

Debug mode opens a visible browser window with developer tools. The runner also reports browser logs, 404 responses, and errors, making it better suited to investigating failures tied to browser behavior than a runner that only returns a pass-or-fail result.

Coverage, mocking, and frameworks

The command line supports interactive watch mode and code coverage profiling. Coverage reports and configurable thresholds give teams a way to track coverage against project expectations, but default instrumentation uses Chromium, which matters when other browser engines are the target. ES modules can be mocked using import maps.

The documentation covers Mocha integration and explains how to write a custom test framework. The runner is powered by esbuild and Rollup plugins, and Playwright can be integrated with GitHub Actions through Microsoft's Playwright Action.

Pricing

The Open source plan costs free. It is an MIT-licensed project installed as an npm development dependency, with no paid tier or usage caps stated. That makes it a straightforward fit for individual developers and teams comfortable maintaining their own test setup; there is no higher-priced plan described for readers seeking a different support or service arrangement.

Platforms

Web Test Runner supports Linux, macOS, Windows, web, and self-hosted environments. Its documented Playwright launcher covers Chromium, Firefox, and WebKit. BrowserStack's remote launcher is useful when testing older browser versions, while the Chromium default for coverage instrumentation is a limitation for teams expecting coverage runs across engines.

Who it's for

Choose Web Test Runner if browser execution, isolated parallel test files, and actionable browser diagnostics matter to your web application workflow. It is less suited to teams that want coverage instrumentation to default across multiple browser engines or prefer a hosted, managed test service rather than an npm development dependency.

Pros and cons

Pros

Broad launcher options: documented integrations include local browser launchers and remote BrowserStack runs, including for older browser versions.

Isolated parallel execution: each test file has its own browser environment, and files can run in parallel.

Useful debugging signals: visible-browser debug mode is paired with reports of logs, 404s, and errors.

Free and permissively licensed: the MIT-licensed project is available at no charge.

Cons

Coverage defaults to Chromium: teams targeting Firefox or WebKit need to account for that instrumentation constraint.

Launcher choice requires setup: the range of browser and remote launchers means teams must select and configure the fit for their project.

Alternatives

JavaScript Testing Frameworks is a useful broader starting point for comparing options. Choose QUnit for an open-source JavaScript testing framework distributed via CDN, npm, and Yarn. Karma is another free, MIT-licensed option, but it is deprecated and receives no new features or general bug fixes. Consider Intern as another free testing option from SitePen and the OpenJS Foundation. Vitest is a free, open-source alternative if you want a different JavaScript testing tool. Cucumber.js is available as an npm development dependency. Pure Test is a free Apache-2.0 open-source option. Testem is a free, MIT-licensed JavaScript test runner. QUnitX is another project by its repository owner.

Verdict

Web Test Runner is a strong choice for developers who want a free, browser-centered test runner with parallel isolation, watch mode, and diagnostic detail. Its mix of launcher options is a persuasive reason to choose it; look elsewhere if cross-engine coverage instrumentation is essential or you want a managed testing service.

Verdict

Web Test Runner combines browser-based testing with watch mode, diagnostics, and coverage. Its documented options include several browser launchers, though default coverage instrumentation uses Chromium.

Where Specifiction places it

Alternatives to Web Test RunnerAll alternatives →