🌐 HAR recording on Tracing tracing.startHar() / tracing.stopHar() expose HAR recording as a first-class tracing API, with the same content, mode and urlFilter options as recordHar. The returned Disposable makes it easy to scope a recording
Playwright breaking changes
The 11 releases whose own notes call out a breaking change, out of 60 the archive holds. Scattered one per release page, this is a run nobody can see; gathered, it is the shape of how often Playwright asks you to change your code.
- Tagged breaking
- 11of 60 releases
- Roughly
- 1 in 5releases held here
- Most recent
- 11 May 20264 months ago
- Across
- 32 monthsback to 13 Sep 2023
How this is decided
A release appears here because the word breaking is in the notes its publisher wrote, not because anyone here read the diff. That cuts both ways. A release that changed an API without using the word is missing from this page, and a release that used the word about something minor is on it. It is the publisher’s own signal, reported rather than judged, which is the same rule the security page follows.
Newest first
All Playwright releases🎬 Screencast New page.screencast API provides a unified interface for capturing page content with: Screencast recordings Action annotations Visual overlays Real-time frame capture Agentic video receipts Screencast recording — record video
📣 Playwright CLI+SKILLs 📣 We are adding a new token-efficient CLI mode of operation to Playwright with the skills located at playwright-cli. This brings the long-awaited official SKILL-focused CLI mode to our story and makes it more codin
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
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 transf
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 fo
Highlights New method expect(locator).toContainClass() to ergonomically assert individual class names on the element. await expect(page.getByRole('listitem', { name: 'Ship v1.52' })).toContainClass('done'); Aria Snapshots got two new proper
Aria snapshots New assertion expect(locator).toMatchAriaSnapshot() verifies page structure by comparing to an expected accessibility tree, represented as YAML. await page.goto('https://playwright.dev'); await expect(page.locator('body')).to
TLS Client Certificates Playwright now allows to supply client-side certificates, so that server can verify them, as specified by TLS Client Authentication. When client certificates are specified, all browser traffic is routed through a pro
New APIs Test tags New tag syntax for adding tags to the tests (@-tokens in the test title are still supported). test('test customer login', { tag: ['@fast', '@login'] }, async ({ page }) => { // ... }); Use --grep command line option to ru
UI Mode Updates Zoom into time range. Network panel redesign. New APIs browserContext.on('weberror') locator.pressSequentially() The reporter.onEnd() now reports startTime and total run duration. Deprecations The following methods were depr