logo

How programmatic recordings work

Replay currently maintains three runtimes (Firefox, Chromium, and Node). Firefox supports Mac, Linux, and Windows (Alpha). Node is currently in beta for Mac and Linux. Chromium is currently in beta for Linux.
Replay currently maintains a fork of Playwright and Puppeteer which are drop-in replacements and can be used by simply replacing the dependencies. See our docs on Playwright and Puppeteer. Replay can also record Cypress, but because the tests run in an iframe we want to improve the DX so it is simpler to use.

Versions and rebasing

Rebasing our runtimes is less a question of merge conflicts and more a question of new non-determinism. This is because the diffs of our runtimes are fairly small (~3k lines of code) and each time we rebase the runtimes have changed quite a bit. We plan on rebasing our runtimes in November and going forward staying in sync with the browser releases.
Staying up-to-date with Playwright and Puppeteer in theory is fairly straightforward. We do not change their APIs and they do not introduce that much new nondeterminism. Going forward, we plan on adding automation so that we can stay up-to-date here as well.

Was this page helpful?