Never miss a release that matters
AI-powered summaries of every GitHub release.
AI Summaries
Changelogs condensed into clear, actionable insights.
Always Free
Track up to 5 packages at no cost, forever.
Weekly Digest
A curated summary of every release, delivered weekly.
TL;DR
Playwright now supports HAR (HTTP Archive) recording directly within tracing, and simplifies drag-and-drop testing with a new locator.drop() method.
New
- HAR Recording: Capture network traffic as HAR files using the tracing API.
- Drag and Drop: Simulate file uploads and data transfer with
locator.drop()for more reliable testing of upload zones. - Test Abort: Use
test.abort()to immediately fail a test when unrecoverable errors are detected.
Fixes Worth Knowing
toMatchAriaSnapshot()now works on the entirePageobject, not just Locators.ariaSnapshot()can now include bounding boxes for each element, aiding in AI-driven testing.
Before You Upgrade
No specific upgrade steps are required.
TL;DR
Playwright now includes npm init playwright (command-line tool) to quickly scaffold new projects with pre-configured tests and workflows, and improved TypeScript support with respect to module resolution.
New
npm init playwright: Creates new Playwright Test projects with configuration, examples, and a GitHub Action workflow.- TypeScript improvements: Playwright Test now respects
tsconfig.json’sbaseUrlandpathsfor easier module aliasing, and supports ESM modules with thePW_EXPERIMENTAL_TS_ESMenvironment variable.
Fixes Worth Knowing
- Locators can now be filtered by text content for more precise targeting.
- New assertion
toBeCheckedfor checking checkbox states. dragTomethod added to locators for drag-and-drop actions.
Before You Upgrade
If using TypeScript with ESM modules, set the PW_EXPERIMENTAL_TS_ESM=1 environment variable and use the .js suffix when importing modules.
TL;DR
Playwright now consolidates browser installations to a single location, simplifying management and reducing disk space usage.
Breaking
- The
page.waitFormethod has been removed; usepage.waitForSelector,page.waitForFunction, orpage.waitForTimeoutinstead. - The
'mutation'polling option forwaitForSelectorand similar methods is no longer supported.
New
page.waitForTimeoutmethod added for explicit pausing.
Fixes Worth Knowing
- Improved reliability of
page.clickwith moving targets and cross-process navigation (handlingtarget="_blank"links). - Fixed issues with browser installations on Node 14 and Alpine Linux.
- Resolved problems with downloads in Chromium and WebKit, including blob downloads on macOS.
- Improved handling of visibility checks and text selectors.
Before You Upgrade
- If you are using
page.waitFor, update your code to use the more specificpage.waitForSelector,page.waitForFunction, orpage.waitForTimeoutmethods. - Be aware that browser installations will now occur in a single, shared location.