Web Test Runner vs WSO2 Contract Test Runner
Web Test Runner
modern-web.devWSO2 Contract Test Runner
github.comSide by side
| Figure | Web Test Runner | WSO2 Contract Test Runner |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 8.2 (#4) | 7.1 (#19) |
| License | The project's GitHub page identifies the repository license as MIT. | The repository identifies its license as Apache-2.0. |
| Purpose | Web Test Runner is a test runner for web applications. | It is a consumer-based contract testing library that calls live REST API endpoints and compares their responses with predefined contract responses. |
Plans
In their own words
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.
WSO2 Contract Test Runner
WSO2 Contract Test Runner is a free, Apache-2.0-licensed library for consumer-based testing of live REST API endpoints. It sends requests and compares returned data with expected responses defined in JSON contracts. A contract can include a request, expected response, assertions, and optional post-conditions. Assertions cover status codes, JSON body and header paths, exact values, regular expressions, emptiness, structures, arrays, and objects. Tests run through Docker by mounting contract and configuration files into the documented image workflow. Suites can run contracts before or after tests, with before-suite contracts running synchronously. Post-conditions can place extracted values into suite-scoped or global environment variables, and contracts can pause for a specified number of seconds. The sample setup uses bearer authorization, cookies, a certificate keystore, and a client truststore. XML path support is listed as a todo. Deployment is Linux and self-hosted.