A wrapper around Puppeteer that simplifies front-end and end-to-end automated testing with built-in assertions and utilities.
Wendigo is a Node.js library that simplifies front-end and end-to-end automated testing by wrapping Puppeteer with a more intuitive API. It provides built-in assertions, request mocking, and utilities for handling browser features like cookies and localStorage, reducing the boilerplate code typically required for browser automation.
Frontend and full-stack developers writing automated tests for web applications, particularly those already using or considering Puppeteer but wanting a higher-level abstraction.
Developers choose Wendigo because it dramatically reduces test code verbosity compared to raw Puppeteer, offers a comprehensive built-in assertion library, and provides utilities for common testing scenarios—all while maintaining full access to Puppeteer's API when needed.
A proper monster for front-end automated testing
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Wendigo includes built-in assertions for DOM elements, cookies, localStorage, and console logs, reducing manual checks as detailed in the extensive 'Assert' section of the README.
The library allows intercepting and mocking HTTP requests with configurable status, headers, and body, enabling backend simulation during testing, as shown in the 'Requests' section.
It supports CSS selectors, XPath, and DOM elements for element selection, providing flexibility in targeting page elements, mentioned in the 'Selectors' section.
A plugin system enables custom functionality and assertions, allowing developers to extend Wendigo's capabilities, as described in the 'Plugins' section.
Wendigo adds another API on top of Puppeteer, which can be redundant for developers already proficient with Puppeteer's native methods and may introduce a learning curve.
Compared to more established tools like Cypress or Playwright, Wendigo has a smaller user base, potentially leading to fewer resources, plugins, and community support for troubleshooting.
The README warns that pages-related methods are 'under revision' and may change heavily in future releases, indicating instability in some features.