Skip to content
🐺 Record browser tests with one command
TypeScript JavaScript Other
Branch: master
Clone or download


Documentation | Gitter | Roadmap

QA Wolf


🐺QA Wolf is an open-source Node package for recording browser tests. It translates your browser actions into Puppeteer and Jest test code.


Record Your Tests: Generate Jest & Puppeteer test code from your browser interactions. QA Wolf supports multiple windows, third party sites, and changing input values with environment variables.

Set up CI: Run your tests in CI with one command. We support CircleCI, Azure DevOps, and GitHub Actions (with more coming soon!). Artifacts for debugging are created per test.

Debug with Ease: Each test run includes a video, gif, interactive DOM recording, and browser logs as artifacts.

Avoid Flakes: QA Wolf waits for the next element or assertion to avoid loading flakes. It finds elements with multiple attributes, or a test attribute you specify (like "data-qa"), to avoid selector flakes. We battle test QA Wolf against public sites on a schedule to keep improving stability.

Get Started


  1. Install QA Wolf as a dev dependency
npm i -D qawolf
  1. Record your test
npx qawolf record <url> [name]
  1. Run your test!
npx qawolf test [name]

Set up CI


Set up CI with CircleCI:

npx qawolf circleci

Set up CI with Azure DevOps:

npx qawolf azure

Set up CI with GitHub Actions:

npx qawolf github

This will generate the relevant config file in your project. Edit this file as you like!


We want QA Wolf to work for you, so please reach out to get help!




The DOM Recording artifact is using @Yuyz0112's awesome rrweb library!

You can’t perform that action at this time.