Обновление локаторов:
Используйте locator.or(), чтобы создать локатор, соответствующий любому из двух локаторов. Рассмотрим сценарий, в котором вы хотели бы нажать на кнопку "Новое электронное письмо", но иногда вместо этого появляется диалоговое окно настроек безопасности. В этом случае вы можете дождаться либо кнопки "Новое электронное письмо", либо диалогового окна и действовать соответствующим образом:
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();
Используйте новые параметры
hasNot
иhasNotText
в locator.filter() для поиска элементов, которые не соответствуют определенным условиям.
const rowLocator = page.locator('tr');
await rowLocator
.filter({ hasNotText: 'text in column 1' })
.filter({ hasNot: page.getByRole('button', { name: 'column 2 button' }) })
.screenshot();
Используйте новое веб-утверждение expect(locator).toBeAttached(), чтобы убедиться, что элемент присутствует в DOM страницы. Не путайте с expect(locator).toBeVisible(), который гарантирует, что элемент одновременно прикреплен и виден.
Новые API
Новая опция
hasNot
в locator.filter()Новая опция
hasNotText
в locator.filter()Новая опция
timeout
в route.fetch()
⚠️ Критическое изменение
mcr.microsoft.com/playwright:v1.34.0
теперь соответствует образу Playwright, основанному на Ubuntu Jammy. Чтобы использовать focal-based образ, пожалуйста используйтеmcr.microsoft.com/playwright:v1.34.0-focal
Версии браузеров
Chromium 113.0.5672.53
Mozilla Firefox 112.0
WebKit 16.4
Эта версия также была протестирована на следующих стабильных каналах:
Google Chrome 112
Microsoft Edge 112
Напомню, Playwright - это фреймворк для веб-тестирования и автоматизации. Который позволяет тестировать Chromium, Firefox и WebKit с помощью единого API.