Intern vs Web Test Runner
Intern
theintern.ioWeb Test Runner
modern-web.devSide by side
| Figure | Intern | Web Test Runner |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | — |
| Android | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.9 (#7) | 8.2 (#4) |
| Code coverage | Intern provides code coverage reporting. | Coverage supports configurable thresholds and reports, while the default coverage instrumentation uses Chromium. |
| Execution | Tests can run in a browser, in Node.js, or across multiple browsers and platforms with the Intern test runner. | Tests run in parallel and isolation, and watch mode reruns tests when files change. |
| License | The homepage identifies Intern as New BSD licensed. | The project's GitHub page identifies the repository license as MIT. |
| Maker | The product site says Intern is created by SitePen and © 2022 OpenJS Foundation. | Modern Web describes its goal as providing developers with guides and tools for modern web development while working closely with the browser. |
| Purpose | Intern is a JavaScript testing framework for websites and applications. | Web Test Runner is a test runner for web applications. |
| Support | The homepage says free community support is available through Stack Overflow, Gitter, and IRC. | The project links to Discord for community discussion and lists sponsorship and contributions as ways to support it. |
Plans
In their own words
Intern
Intern is a free, open-source test system for JavaScript libraries and applications. It supports unit and functional testing, with tests written in JavaScript or TypeScript using TDD or BDD styles. Tests can run in Node.js, web browsers, or across multiple browsers and platforms through the Intern runner, with parallel execution and code coverage reporting. The project can target web pages and native or hybrid iOS and Android applications. For browser automation, it supports WebDriver-compatible tools and services, including Selenium, Appium, and Selendroid. Listed cloud options include Sauce Labs, BrowserStack, TestingBot, and a user’s own Selenium Grid. Continuous-integration integrations include Travis CI, Jenkins, and TeamCity. Intern’s extensible architecture allows custom test interfaces, executors, and reporters. It runs on Android, iOS, Linux, macOS, self-hosted environments, the web, and Windows. Installation is provided through npm, and the project uses the New BSD license.
Web Test Runner
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.