Freedom251 › JavaScript Testing Frameworks
Web Test Runner

What Web Test Runner is
Web Test Runner is a free test runner for web applications, installed as an npm development dependency. It runs tests in parallel, keeping each test file in its own browser environment. Headless browser launchers include Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO; Playwright supports Chromium, Firefox, and WebKit, while BrowserStack offers remote runs. For debugging, it can open a browser window with developer tools and report browser logs, 404 responses, and errors. Its command line includes interactive watch mode, which reruns tests after file changes, and code coverage with configurable thresholds and reports. Coverage instrumentation defaults to Chromium. The runner can mock ES modules through import maps and includes a Mocha integration, plus instructions for creating a custom test framework. It is powered by esbuild and Rollup plugins. Modern Web publishes the project as open source under the MIT license, with packages in the @web npm namespace. The project documentation points to GitHub for help and feedback and welcomes documentation contributions.
Who it suits
It suits developers who need browser-based testing for web applications, including parallel test runs, coverage reports, or remote browser checks. Teams using Mocha or building a custom test framework can use its documented integrations.
What it does well
- Runs test files in parallel and isolation
- Supports Chromium, Firefox, and WebKit through Playwright
- Watch mode reruns tests when files change
- Coverage includes configurable thresholds and reports
- Free and MIT-licensed
What to know first
- Default coverage instrumentation uses Chromium
- BrowserStack remote testing requires its launcher
- Installation is as an npm development dependency
Limits
Coverage instrumentation uses Chromium by default. The project has a free plan.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open source | MIT-licensed project · installable as an npm development dependency | Free |
As modern-web.dev lists them, read 3 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Modern Web Test Runner documentation.
- Install `@web/test-runner` as an npm development dependency.
- Choose a documented browser launcher, such as Playwright, Puppeteer, Selenium, BrowserStack, or WebdriverIO.
- Use the documented Mocha integration or follow the instructions for a custom test framework.
- Use the command line's watch mode or coverage reporting as needed.
Web Test Runner runs tests for web applications in browser environments, making it a strong fit for developers who need browser-specific checks rather than only a general-purpose test runner. Its free, open-source model and launcher range are compelling; the main trade-off is that browser and coverage choices require deliberate setup.
Overview
Each test file gets its own browser environment, and files can run in parallel. That separation helps prevent one file’s browser state from affecting another, while watch mode reruns tests as files change. The project is installed as an npm development dependency and is MIT-licensed.
Modern Web’s browser-focused approach suits applications where behavior in a real browser matters. It is less compelling if the priority is a ready-made framework with minimal browser configuration: the runner supports several launchers, but selecting and configuring one is part of adopting it.
Key features
Browser choice and debugging
Documented launchers include Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO. Playwright supports Chromium, Firefox, and WebKit; BrowserStack enables remote runs and can be useful for checking older browser versions. This breadth gives teams options for local and remote execution, though it also means the setup should reflect the browsers and environments the application needs to cover.
Debug mode opens a real browser window with developer tools. The runner also reports browser logs, 404 responses, and errors, which gives developers useful context when a test fails. Those diagnostics are especially valuable for browser-dependent problems that are harder to isolate from a command-line result alone.
Watch mode, coverage, and mocking
The command line includes interactive watch mode and coverage profiling. Coverage supports configurable thresholds and reports, but its default instrumentation uses Chromium; teams targeting other browsers should account for that distinction when planning coverage.
Import maps allow ES module mocking, and the project documents both a Mocha integration and instructions for creating a custom test framework. Its esbuild and Rollup plugin foundation is aimed at web development workflows. Component testing and snapshot testing are also supported.
Pricing
Web Test Runner is free. The Open source plan costs nothing and includes an MIT-licensed project that can be installed as an npm development dependency. There are no paid tiers or plan quotas to weigh; the cost is in choosing and maintaining the browser-launcher setup that fits the project.
Platforms
The project supports Linux, macOS, Windows, web, and self-hosted environments. Its supported browser runtimes are Chromium, Firefox, and WebKit, with Playwright providing those three browser options. BrowserStack adds documented remote testing.
Who it's for
Web Test Runner is best for web developers who want parallel, isolated browser runs, useful failure diagnostics, and flexibility to select local or remote launchers. It is a good choice when browser behavior is central to the test suite and the team is comfortable with an npm-based setup. Teams seeking a narrowly defined, preconfigured workflow may prefer a framework whose own approach better matches their existing test environment.
Pros and cons
Pros
- Isolated parallel runs: each test file gets its own browser environment, reducing shared-state interference while allowing concurrent execution.
- Broad browser options: Playwright covers Chromium, Firefox, and WebKit, while documented launchers include remote BrowserStack testing.
- Practical failure diagnostics: visible-browser debugging and reports of logs, 404s, and errors help narrow down browser failures.
- Free and open source: the MIT-licensed project is installable as a development dependency and includes watch mode, coverage, and module mocking.
Cons
- Coverage defaults to Chromium: teams targeting other runtimes need to consider this when setting coverage expectations.
- Launcher choice adds setup work: flexibility across launchers is useful, but teams must select and configure the approach their project needs.
Alternatives
Compare JavaScript testing frameworks if you want to weigh browser-focused runners against broader testing options.
- Karma is another free option, but its project is deprecated and receives no new features or general bug fixes.
- Cucumber.js is a free npm-installable alternative if that product is a better fit for your testing needs.
- Vitest is a free alternative if you want a JavaScript testing framework with no stated plan limits.
- Mocha is a free, open-source JavaScript test framework installable as a development dependency; choose it if you prefer that framework directly.
- Rstest is a free, MIT-licensed JavaScript and TypeScript testing framework to consider instead.
- Jest is a free alternative if it better suits your testing workflow.
- Poku is a free, MIT-licensed option with Node.js, Bun, and Deno support if those runtimes matter more to you.
- Intern is another free alternative to consider.
Verdict
Choose Web Test Runner if you need browser-centered testing with isolated parallel files, debugging tools, and a choice of local and remote launchers—all without a license fee. Look elsewhere if you want coverage behavior that defaults beyond Chromium or would rather avoid configuring a browser launcher for your project.
Verdict
Web Test Runner combines isolated browser runs with debugging, watch mode, and coverage features. Its documented launchers span local and remote browser testing, while coverage defaults to Chromium.
Questions
How much does Web Test Runner cost?
The listed plan is Open source at no cost. The pricing model is free.
Is Web Test Runner open source?
Yes. Modern Web says its code is publicly available on GitHub, and the repository is identified as MIT-licensed.
Which browsers can it run tests in?
The Playwright launcher supports Chromium, Firefox, and WebKit. The project also documents launchers for Puppeteer, Selenium, BrowserStack, and WebdriverIO.
Can it run tests remotely?
Yes. The BrowserStack launcher runs tests remotely, and the documentation says it can be useful for older browser versions.
What platforms does it support?
Listed platforms are Linux, macOS, Windows, web, and self-hosted.
How do I install it?
The project documents installation as an npm development dependency using `@web/test-runner`.
Facts from Web Test Runner's own pages
- Browser coverage
- The Playwright launcher supports bundled Chromium, Firefox, and WebKit browsers. · modern-web.dev, 3 Oct 2026
- Browser diagnostics
- It reports browser logs, 404 responses, and errors. · modern-web.dev, 3 Oct 2026
- Browser integrations
- Playwright can run tests on Chromium, Firefox, and WebKit; BrowserStack and Sauce Labs launchers are also documented. · modern-web.dev, 2 Oct 2026
- Browser launchers
- Documented launchers include Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO. · modern-web.dev, 3 Oct 2026
- Browser testing
- It can run tests in headless browsers using Puppeteer, Playwright, Selenium, or WebdriverIO. · modern-web.dev, 2 Oct 2026
- Build tooling
- The runner is powered by esbuild and Rollup plugins. · modern-web.dev, 2 Oct 2026
- Code coverage
- Coverage supports configurable thresholds and reports, while the default coverage instrumentation uses Chromium. · modern-web.dev, 3 Oct 2026
- Debugging
- Debug mode opens a real browser window with developer tools. · modern-web.dev, 3 Oct 2026
- Execution
- Tests run in parallel and isolation, and watch mode reruns tests when files change. · modern-web.dev, 3 Oct 2026
- Installation
- The official installation instructions use npm to add @web/test-runner as a development dependency. · modern-web.dev, 3 Oct 2026
- Integrations
- The docs describe using the Playwright launcher with GitHub Actions via Microsoft's Playwright Action. · modern-web.dev, 3 Oct 2026
- License
- The project's GitHub page identifies the repository license as MIT. · github.com, 3 Oct 2026
- Maker
- Modern Web describes its goal as providing developers with guides and tools for modern web development while working closely with the browser. · modern-web.dev, 3 Oct 2026
- 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. · modern-web.dev, 2 Oct 2026
- Module mocking
- The runner can mock ES modules using import maps. · modern-web.dev, 3 Oct 2026
- Parallel and isolated tests
- Tests run in parallel and in isolation, with each test file in its own browser environment. · modern-web.dev, 2 Oct 2026
- Project status
- Modern Web says its code is open source and publicly available on GitHub, with packages published under the @web npm namespace. · modern-web.dev, 2 Oct 2026
- Purpose
- Web Test Runner is a test runner for web applications. · modern-web.dev, 3 Oct 2026
- Remote testing
- The BrowserStack launcher runs tests remotely, and the docs say it can be useful for older browser versions. · modern-web.dev, 3 Oct 2026
- Support
- The project links to Discord for community discussion and lists sponsorship and contributions as ways to support it. · github.com, 3 Oct 2026
- Support and contributions
- The site directs users to GitHub for help and feedback and invites contributions to its documentation. · modern-web.dev, 2 Oct 2026
- Test framework
- The documentation includes Mocha as a test framework and allows users to write their own framework. · modern-web.dev, 3 Oct 2026
- Watch mode and coverage
- The command line supports interactive watch mode and code coverage profiling. · modern-web.dev, 2 Oct 2026
Where Web Test Runner stands on Freedom251
- JavaScript Testing Frameworks#12 of 23
