Вышел релиз Playwright 1.33: обновления и новые возможности

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

Теперь вы можете использовать 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 и критическое изменение

В релизе Playwright 1.33 представлены следующие новые API:

  • locator.or()
  • hasNot в locator.filter()
  • hasNotText в locator.filter()
  • expect(locator).toBeAttached()
  • timeout в route.fetch()
  • reporter.onExit()

⚠️ Обратите внимание на критическое изменение: образ mcr.microsoft.com/playwright:v1.34.0 теперь основан на Ubuntu Jammy. Для использования образа, основанного на Ubuntu Focal, используйте mcr.microsoft.com/playwright:v1.34.0-focal.

Версии браузеров и совместимость

Версии браузеров в релизе Playwright 1.33:

  • Chromium 113.0.5672.53
  • Mozilla Firefox 112.0
  • WebKit 16.4

Эта версия также была протестирована на следующих стабильных каналах браузеров:

  • Google Chrome 112
  • Microsoft Edge 112

Напоминаем, что Playwright — это фреймворк для веб-тестирования и автоматизации. Он позволяет тестировать Chromium, Firefox и WebKit с помощью единого API, обеспечивая удобство и унификацию в написании и проведении тестов.

Релиз Playwright 1.33 включает обновление локаторов, новые API и критическое изменение. Воспользуйтесь новыми возможностями для улучшения качества и эффективности ваших тестов и автоматизации.

Максим Беличенко

Опытный разработчик программного обеспечения с более чем 12-летним стажем в IT-индустрии. За время своей карьеры Максим работал на различных позициях, начиная от начинающего программиста и заканчивая архитектором и техническим руководителем проектов. Иван имеет обширный опыт в разработке мобильных, веб- и корпоративных приложений на языках программирования, таких как Java, Python, JavaScript и C#. Он также знаком с различными фреймворками и библиотеками, включая React, Angular, Spring и Django.

Оцените автора
Agilean
Спроси у автора