Вышел релиз Playwright 1.33

ce11387d4e6d51da8cb5b3e337bf2127.png

Обновление локаторов:

  • Используйте 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

⚠️ Критическое изменение

  • 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.

ca9bdd6d2811d0cb68d9c226f6dc15b7.png

© Habrahabr.ru