v1.33.0
Version 1.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:Locator newEmail = page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("New")); Locator dialog = page.getByText("Confirm security settings"); assertThat(newEmail.or(dialog)).isVisible(); if (dialog.isVisible()) page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Dismiss")).click(); newEmail.click();
-
Use new options
setHasNot
andsetHasNotText
inLocator.filter()
to find elements that do not match certain conditions.Locator rowLocator = page.locator("tr"); rowLocator .filter(new Locator.FilterOptions().setHasNotText("text in column 1")) .filter(new Locator.FilterOptions().setHasNot( page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("column 2 button" )))) .screenshot();
-
Use new web-first assertion
LocatorAssertions.isAttached()
to ensure that the element
is present in the page's DOM. Do not confuse with theLocatorAssertions.isVisible()
that ensures that
element is both attached & visible.
New APIs
Locator.or()
- New option
setHasNot
inLocator.filter()
- New option
setHasNotText
inLocator.filter()
LocatorAssertions.isAttached()
- New option
setTimeout
inRoute.fetch()
Other highlights
- Native support for Apple Silicon - Playwright now runs without Rosetta
- Added Ubuntu 22.04 (Jammy) Docker image
⚠️ Breaking change
- The
mcr.microsoft.com/playwright/java:v1.33.0
now serves a Playwright image based on Ubuntu Jammy.
To use the focal-based image, please usemcr.microsoft.com/playwright/java:v1.33.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