Microsoft/playwright
### [`v1.33.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.33.0)
[Compare Source](https://togithub.com/Microsoft/playwright/compare/v1.32.3...v1.33.0)
##### Locators Update
- Use [`locator.or()`][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 options `hasNot` and `hasNotText` in [`locator.filter()`][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()`][locatorAssertions.toBeAttached()] to ensure that the element
is present in the page's DOM. Do not confuse with the [`locatorAssertions.toBeVisible()`][locatorAssertions.toBeVisible()] that ensures that
element is both attached & visible.
##### New APIs
- [`locator.or()`][locator.or()]
- New option `hasNot` in [`locator.filter()`][locator.filter()]
- New option `hasNotText` in [`locator.filter()`][locator.filter()]
- [`locatorAssertions.toBeAttached()`][locatorAssertions.toBeAttached()]
- New option `timeout` in [`route.fetch()`][route.fetch()]
- [`reporter.onExit()`][reporter.onExit()]
##### ⚠️ Breaking change
- The `mcr.microsoft.com/playwright:v1.33.0` now serves a Playwright image based on Ubuntu Jammy.
To use the focal-based image, please use `mcr.microsoft.com/playwright: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
[`locator.or()`]: https://playwright.dev/docs/api/class-locator#locator-or
[`reporter.onExit()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-exit
[`locator.filter()`]: https://playwright.dev/docs/api/class-locator#locator-filter
[`locatorAssertions.toBeAttached()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-attached
[`locatorAssertions.toBeVisible()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible
[`route.fetch()`]: https://playwright.dev/docs/api/class-route#route-fetch
Configuration
📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^1.32.3
->^1.33.0
Release Notes
Microsoft/playwright
### [`v1.33.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.33.0) [Compare Source](https://togithub.com/Microsoft/playwright/compare/v1.32.3...v1.33.0) ##### Locators Update - Use [`locator.or()`][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 options `hasNot` and `hasNotText` in [`locator.filter()`][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()`][locatorAssertions.toBeAttached()] to ensure that the element is present in the page's DOM. Do not confuse with the [`locatorAssertions.toBeVisible()`][locatorAssertions.toBeVisible()] that ensures that element is both attached & visible. ##### New APIs - [`locator.or()`][locator.or()] - New option `hasNot` in [`locator.filter()`][locator.filter()] - New option `hasNotText` in [`locator.filter()`][locator.filter()] - [`locatorAssertions.toBeAttached()`][locatorAssertions.toBeAttached()] - New option `timeout` in [`route.fetch()`][route.fetch()] - [`reporter.onExit()`][reporter.onExit()] ##### ⚠️ Breaking change - The `mcr.microsoft.com/playwright:v1.33.0` now serves a Playwright image based on Ubuntu Jammy. To use the focal-based image, please use `mcr.microsoft.com/playwright: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 [`locator.or()`]: https://playwright.dev/docs/api/class-locator#locator-or [`reporter.onExit()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-exit [`locator.filter()`]: https://playwright.dev/docs/api/class-locator#locator-filter [`locatorAssertions.toBeAttached()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-attached [`locatorAssertions.toBeVisible()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible [`route.fetch()`]: https://playwright.dev/docs/api/class-route#route-fetchConfiguration
📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.