Обновление локаторов:
Используйте 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
locator.or()
Новая опция hasNot в locator.filter()
Новая опция hasNotText в locator.filter()
expect(locator).toBeAttached()
Новая опция timeout в route.fetch()
reporter.onExit()⚠️ Критическое изменение
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.
Источник новости: habr.com