Changelog
Find the capabilities and fixes added in each Retest release.
Use this page to see what changed when you upgrade Retest. Each release lists the capabilities and fixes that affect your tests, with links to setup and usage examples.
0.2.0 Link to 0.2.0
This release adds files, browser dialogs, popups, frames, drag and drop, mocked requests, screenshot comparisons, layout checks and test inboxes. These changes were checked on Chrome on macOS unless an entry says otherwise. Feature guides list supported engines and their limits; Firefox and WebKit refuse unsupported operations by name.
Files and browser windows Link to Files and browser windows
Tests can upload files by path or content with setInputFiles, catch a picker with page.fileChooser and save downloads with page.download. Downloads become run artefacts, and Retest withholds a download when it detects a known secret value in the file. Uploads and file pickers also work in Electron. See Uploads and downloads.
page.dialog lets a test accept or dismiss alert, confirm, prompt and beforeunload dialogs. page.popup returns a page your app opened, with its own locators, actions, checks and screenshots. Dialogs also work in Electron, including at startup; Electron popups are unsupported. See Dialogs and popups.
Elements and requests Link to Elements and requests
Finders now search open shadow roots. On Firefox and WebKit, this includes text, test id, CSS and placeholder queries; role and label queries have restrictions. Chrome and Chromium tests can also enter nested frames and frames from another site with page.frame. See Frames and shadow DOM.
locator.dragTo supports HTML drag and drop and mouse-driven lists, including in Electron. page.route can answer a request with a response you provide or refuse it, and page.unroute removes the route. See Drag and drop and Mocking requests.
New checks and inboxes Link to New checks and inboxes
toHaveScreenshot compares a page or element with a saved baseline and leaves expected, actual and difference images on failure. Page comparisons also work on Firefox and WebKit. Layout matchers check overlap, clipped text, viewport overflow and horizontal scrolling on Chrome and Chromium. See Screenshot comparisons and Layout checks.
npx retest run --update-screenshotsUse --update-screenshots to write the baselines your tests compare against. Retest passes those screenshot checks and reports how many baselines it wrote, so review the images before accepting them.
Test inboxes let a test read a one-time code or sign-in link from a configured mailbox and use it without holding the secret value. See Email codes and links. Agent sessions also report the dialogs Retest answered and the file pickers it closed.
Fixes Link to Fixes
- Closing a browser after its main process was killed no longer fails on a busy machine.
- Saving storage state after leaving an origin with a service worker no longer counts Chrome's own update check as a page request.
- Firefox now refuses a selection of several options before looking for the element, even when those options are already selected.
- An Electron app that shows an alert before its debugging connection is ready no longer hangs during launch.
0.1.0 Link to 0.1.0
The first public release published @rehearsal-labs/retest on npm for Node.js 24.12 or later. It introduced the test runner and independent drivers for Chromium, Firefox, WebKit, iOS simulator apps, macOS apps and Electron, with named apps that one test can use together.
It included locators, actions, retrying checks, saved sign-in state, secrets, AI checks and run evidence. The command line could initialise a project, check its setup, run tests and inspect saved results, with a short report for coding agents. A compatibility adapter ran the supported subset of Playwright test files.