- Nov 28, 2025
- Parsed from source:Nov 28, 2025
- Detected by Releasebot:Dec 11, 2025
v1.57.0
Playwright rolls out a Speedboard to highlight slow tests and switches Chrome for Testing builds with a small UI update. The release adds new APIs and config options, enhances service worker network/console reporting, and deprecates Page#accessibility in favor of Axe. Browser versions updated.
Speedboard
In HTML reporter, there's a new tab we call "Speedboard":
It shows you all your executed tests sorted by slowness,
and can help you understand where your test suite is taking longer than expected.
Take a look at yours - maybe you'll find some tests that are spending a longer time waiting than they should!Chrome for Testing
Starting with this release, Playwright switches from Chromium, to using Chrome for Testing builds. Both headed and headless browsers are subject to this. Your tests should still be passing after upgrading to Playwright 1.57.
We're expecting no functional changes to come from this switch. The biggest change is the new icon and title in your toolbar.
If you still see an unexpected behaviour change, please file an issue.On Arm64 Linux
Playwright continues to use Chromium.
Waiting for webserver output
testConfig.webServer added a wait field. Pass a regular expression, and Playwright will wait until the webserver logs match it.
import { defineConfig } from '@playwright/test'; export default defineConfig({ webServer: { command: 'npm run start', wait: { stdout: '/Listening on port (?<my_server_port>\\d+)/' }, }, });If you include a named capture group into the expression, then Playwright will provide the capture group contents via environment variables:
import { test, expect } from '@playwright/test'; test.use({ baseUrl: `http://localhost:${process.env.MY_SERVER_PORT ?? 3000}` }); test('homepage', async ({ page }) => { await page.goto('/'); });This is not just useful for capturing varying ports of dev servers. You can also use it to wait for readiness of a service that doesn't expose an HTTP readiness check, but instead prints a readiness message to stdout or stderr.
Breaking Change
After 3 years of being deprecated, we removed Page#accessibility from our API. Please use other libraries such as Axe if you need to test page accessibility. See our Node.js guide for integration with Axe.
New APIs
New property testConfig.tag adds a tag to all tests in this run. This is useful when using merge-reports.
worker.on('console') event is emitted when JavaScript within the worker calls one of console API methods, e.g. console.log or console.dir. worker.waitForEvent() can be used to wait for it.
locator.description() returns locator description previously set with locator.describe(), and Locator.toString() now uses the description when available.
New option steps in locator.click() and locator.dragTo() that configures the number of mousemove events emitted while moving the mouse pointer to the target element.
Network requests issued by Service Workers are now reported and can be routed through the BrowserContext, only in Chromium. You can opt out using the PLAYWRIGHT_DISABLE_SERVICE_WORKER_NETWORK environment variable.
Console messages from Service Workers are dispatched through worker.on('console'). You can opt out of this using the PLAYWRIGHT_DISABLE_SERVICE_WORKER_CONSOLE environment variable.Browser Versions
- Chromium 143.0.7499.4
- Mozilla Firefox 144.0.2
- WebKit 26.0
- Oct 17, 2025
- Parsed from source:Oct 17, 2025
- Detected by Releasebot:Dec 11, 2025
v1.56.1
Highlights
- #37871 chore: allow local-network-access permission in chromium
- #37891 fix(agents): remove workspaceFolder ref from vscode mcp
- #37759 chore: rename agents to test agents
- #37757 chore(mcp): fallback to cwd when resolving test config
Browser Versions
- Chromium 141.0.7390.37
- Mozilla Firefox 142.0.1
- WebKit 26.0
- Oct 7, 2025
- Parsed from source:Oct 7, 2025
- Detected by Releasebot:Dec 11, 2025
v1.56.0
Playwright introduces Playwright Agents, guiding LLMs through planning, generating, and repairing tests with agent loops in VS Code and other loops. New APIs, UI improvements, and reporter options expand testing workflows across Chromium, Firefox, and WebKit.
Playwright Agents
Introducing Playwright Agents, three custom agent definitions designed to guide LLMs through the core process of building a Playwright test:
🎭 planner explores the app and produces a Markdown test plan
🎭 generator transforms the Markdown plan into the Playwright Test files
🎭 healer executes the test suite and automatically repairs failing testsRun npx playwright init-agents with your client of choice to generate the latest agent definitions:
- Generate agent files for each agentic loop
- Visual Studio Code
npx playwright init-agents --loop=vscode - Claude Code
npx playwright init-agents --loop=claude - opencode
npx playwright init-agents --loop=opencode
Note
VS Code v1.105 (currently on the VS Code Insiders channel) is needed for the agentic experience in VS Code. It will become stable shortly, we are a bit ahead of times with this functionality! - Visual Studio Code
Learn more about Playwright Agents
New APIs
New methods page.consoleMessages() and page.pageErrors() for retrieving the most recent console messages from the page
New method page.requests() for retrieving the most recent network requests from the page
Added --test-list and --test-list-invert to allow manual specification of specific tests from a fileUI Mode and HTML Reporter
Added option to 'html' reporter to disable the "Copy prompt" button
Added option to 'html' reporter and UI Mode to merge files, collapsing test and describe blocks into a single unified list
Added option to UI Mode mirroring the --update-snapshots options
Added option to UI Mode to run only a single worker at a timeBreaking Changes
Event browserContext.on('backgroundpage') has been deprecated and will not be emitted. Method browserContext.backgroundPages() will return an empty list
Miscellaneous
Aria snapshots render and compare input placeholder
Added environment variable PLAYWRIGHT_TEST to Playwright worker processes to allow discriminating on testing statusBrowser Versions
Chromium 141.0.7390.37
Original source Report a problem
Mozilla Firefox 142.0.1
WebKit 26.0 - Oct 6, 2025
- Parsed from source:Oct 6, 2025
- Detected by Releasebot:Dec 11, 2025
v1.55.1
Highlights
- #37479 - [Bug]: Upgrade Chromium to 140.0.7339.186.
- #37147 - [Regression]: Internal error: step id not found.
- #37146 - [Regression]: HTML reporter displays a broken chip link when there are no projects.
- #37137 - Revert "fix(a11y): track inert elements as hidden".
- #37532 - chore: do not use -k option
Browser Versions
- Chromium 140.0.7339.186
- Mozilla Firefox 141.0
- WebKit 26.0
This version was also tested against the following stable channels:
- Google Chrome 139
- Microsoft Edge 139
- Aug 20, 2025
- Parsed from source:Aug 20, 2025
- Detected by Releasebot:Dec 11, 2025
v1.55.0
New APIs add testStepInfo.titlePath to reveal the full test and step title path. Codegen now auto‑generates toBeVisible() assertions for common UI interactions, toggleable in Codegen settings. Note the breaking change: Chromium extension manifest v2 is dropped; Debian 13 Trixie support added.
New APIs
New Property testStepInfo.titlePath Returns the full title path starting from the test file, including test and step titles.
Codegen
Automatic toBeVisible() assertions: Codegen can now generate automatic toBeVisible() assertions for common UI interactions. This feature can be enabled in the Codegen settings UI.
Breaking Changes
⚠️ Dropped support for Chromium extension manifest v2.
Miscellaneous
Added support for Debian 13 "Trixie".
Browser Versions
Chromium 140.0.7339.16
Mozilla Firefox 141.0
WebKit 26.0
This version was also tested against the following stable channels:
Google Chrome 139
Microsoft Edge 139
Original source Report a problem - Jul 11, 2025
- Parsed from source:Jul 11, 2025
- Detected by Releasebot:Dec 11, 2025
v1.54.1
Highlights
#36650 - [Regression]: 1.54.0 breaks downloading browsers when an HTTP(S) proxy is used
Browser Versions
- Chromium 139.0.7258.5
- Mozilla Firefox 140.0.2
- WebKit 26.0
This version was also tested against the following stable channels:
- Google Chrome 140
- Microsoft Edge 140
- Jul 10, 2025
- Parsed from source:Jul 10, 2025
- Detected by Releasebot:Dec 11, 2025
v1.54.0
Playwright introduces cookie partitionKey support to save and restore partitioned cookies, and a noSnippets option for HTML reports. It adds test annotation location, a new --user-data-dir CLI flag, and updates Node.js support along with browser version bumps.
Highlights
New cookie property partitionKey in browserContext.cookies() and browserContext.addCookies(). This property allows to save and restore partitioned cookies. See CHIPS MDN article for more information. Note that browsers have different support and defaults for cookie partitioning.
New option noSnippets to disable code snippets in the html report.
import { defineConfig } from '@playwright/test'; export default defineConfig({ reporter: [['html', { noSnippets: true }]] });New property location in test annotations, for example in testResult.annotations and testInfo.annotations. It shows where the annotation like test.skip or test.fixme was added.
Command Line
- New option --user-data-dir in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions.
- npx playwright codegen --user-data-dir=./user-data
- Option -gv has been removed from the npx playwright test command. Use --grep-invert instead.
- npx playwright open does not open the test recorder anymore. Use npx playwright codegen instead.
Miscellaneous
- Support for Node.js 16 has been removed.
- Support for Node.js 18 has been deprecated, and will be removed in the future.
Browser Versions
- Chromium 139.0.7258.5
- Mozilla Firefox 140.0.2
- WebKit 26.0
- This version was also tested against the following stable channels:
- Google Chrome 140
- Microsoft Edge 140
- Jun 30, 2025
- Parsed from source:Jun 30, 2025
- Detected by Releasebot:Dec 11, 2025
v1.53.2
Highlights
- #36317 - [Regression]: Merging pre-1.53 blob reports loses attachments
- #36357 - [Regression (Chromium)]: CDP missing trailing slash
- #36292 - [Bug (MSEdge)]: Edge fails to launch when using msRelaunchNoCompatLayer
Browser Versions
- Chromium 138.0.7204.23
- Mozilla Firefox 139.0
- WebKit 18.5
This version was also tested against the following stable channels:
- Google Chrome 137
- Microsoft Edge 137
- Jun 18, 2025
- Parsed from source:Jun 18, 2025
- Detected by Releasebot:Dec 11, 2025
v1.53.1
Highlights
- #36339 - [Regression]: Click can fail when scrolling required
- #36307 - [Regression (Chromium)]: Under some scenarios filling a textarea doesn't fill
- #36294 - [Regression (Firefox)]: setViewportSize times out
- #36350 - [Fix]: Display HTTP method for fetch trace entries
Browser Versions
Chromium 138.0.7204.23
Mozilla Firefox 139.0
WebKit 18.5This version was also tested against the following stable channels:
- Google Chrome 137
- Microsoft Edge 137
This is the end. You've seen all the release notes in this feed!