Playwright - v1.33.0
Locators Update
-
Use [
locator.or()
] to create a locator that matches either of the two locators.
Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead.
In this case, you can wait for either a "New email" button, or a dialog and act accordingly:js const newEmail = page.getByRole('button', { name: 'New' }); const dialog = page.getByText('Confirm security settings'); await expect(newEmail.or(dialog)).toBeVisible(); if (await dialog.isVisible()) await page.getByRole('button', { name: 'Dismiss' }).click(); await newEmail.click();
* Use new optionshasNot
andhasNotText
in [locator.filter()
]
to find elements that do not match certain conditions.js const rowLocator = page.locator('tr'); await rowLocator .filter({ hasNotText: 'text in column 1' }) .filter({ hasNot: page.getByRole('button', { name: 'column 2 button' }) }) .screenshot();
* Use new web-first assertion [locatorAssertions.toBeAttached()
] to ensure that the element
is present in the page's DOM. Do not confuse with the [locatorAssertions.toBeVisible()
] that ensures that
element is both attached & visible.
New APIs
- [
locator.or()
] - New option
hasNot
in [locator.filter()
] - New option
hasNotText
in [locator.filter()
] - [
locatorAssertions.toBeAttached()
] - New option
timeout
in [route.fetch()
] - [
reporter.onExit()
]
⚠️ Breaking change
- The
mcr.microsoft.com/playwright:v1.34.0
now serves a Playwright image based on Ubuntu Jammy.
To use the focal-based image, please usemcr.microsoft.com/playwright:v1.34.0-focal
instead.
Browser Versions
- Chromium 113.0.5672.53
- Mozilla Firefox 112.0
- WebKit 16.4
This version was also tested against the following stable channels:
- Google Chrome 112
- Microsoft Edge 112
Details
- 🔍View and search all Playwright releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!