Автоматизация тестирования с помощью Playwright

На сегодняшний день Playwright считается одним из лучших фреймворков для тестирования веб-приложений. Он обеспечивает бесперебойную работу программного обеспечения с минимальным количеством ошибок.

Ниже перечислено несколько причин, почему большие корпорации и государственные компании предпочитают вводить автоматизированное тестирование с помощью подобных фреймворков на ранних этапах разработки продукта:

  • Быстро загружающийся пользовательский интерфейс повышает посещаемость веб-страницы, что, в свою очередь, приводит к увеличению вероятности конверсии с сайта.
  • Тестирование программного обеспечения на этапе разработки позволяет оценить потенциально возможный трафик, реакцию системы на различную нагрузку и отношение потребителей к продукту или услуге.
  • Оценка вышеперечисленных показателей помогает заранее устранить большинство дефектов и запустить стабильно работающее приложение.

Таким образом, автоматизация тестирования обеспечивает повышение производительности всей инфраструктуры, увеличивает конверсию и ежегодный доход.

Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ

Что такое Playwright?

Playwright – это популярный фреймворк для создания headless‑браузеров, автоматизации и веб-тестирования. Он предлагает единый API и работает на таких движках, как Chromium, WebKit и Firefox. Изначально Playwright был разработан компанией Microsoft для создания эффективных кросс-браузерных автоматизированных тестов.

Фреймворк поддерживает JavaScript/TypeScript, Java, Python и C#, хорошо интегрируется с любыми приложениями и сайтами и позволяет легко проводить сквозное (end-to-end) тестирование.

Почему Playwright?

Playwright создан на веб-платформе Chromium с открытым исходным кодом. Он так же поддерживает автоматизацию для Microsoft Edge. Microsoft разработала и выпустила фреймворк в 2011 году. С тех пор вышло множество обновлений, основанных на отзывах и комментариях пользователей.

Особенности Playwright

Стабильность и точность тестов

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

Web Assertions – тесты на сопоставление утверждений

Разработчики могут проверить, соответствует ли текущее состояние приложения ожидаемому результату. Для этого используется библиотека сопоставления, проверяющая различные утверждения заданного состояния. Она позволяет автоматически повторять проверки до тех пор, пока не будут выполнены требуемые условия. Для устранения ошибок можно выполнять повторные проверки, записывать трассировку реализации, скриншоты и видео.

Не зависит от ограничений тест-раннеров (test runners)

Фреймворк Playwright имеет собственный встроенный тест-раннер Playwright Test, а так же поддерживает различные внешние тест-раннеры (Mocha, Jest, Jasmine).

Браузерные контексты: один тест для нескольких параметров и сценариев

Playwright позволяет создавать изолированные браузерные контексты для запуска сценариев, охватывающих нескольких пользователей и разные вкладки.

Представим, что у нас есть браузер, и у него есть множество вкладок. В этих вкладках можно залогиниться, где-то хранятся cookies, сессии, localStorage и так далее. Обычно, чтобы автоматизировать такой сценарий, по его завершении необходимо закрыть браузер, удалить всю папку с информацией и открыть новый браузер с новой папкой, чтобы вся эта информация не сталкивалась друг с другом. 

Контекст позволяет делать все то же самое гораздо быстрее и использовать один браузер, где страницы не будут обмениваться между собой информацией и будут хорошо изолированы друг от друга. 

Паттерны работы с браузером как у реального пользователя

Playwright способен серфить по различным элементам страницы и взаимодействовать с ними так, как это делали бы реальные пользователи.

Фреймворк поддерживает большое количество селекторов, их можно комбинировать, добавляя свои движки селекторов. Также есть поддержка Shadow DOM piercing — это значит, что встроенные Playwright селекторы работают сквозь теневой DOM.

Отказ от повторных входов в систему

Достаточно войти в систему один раз, сохранить состояние проверки условий и повторно использовать его для всех автоматизированных тестов. Playwright также обеспечивает полную изоляцию для отдельных тестов и позволяет обойтись без повторных входов в систему.

Быстрое выполнение тестов

Одним из главных преимуществ Playwright является его скорость работы. Фреймворк разрабатывает совершенно новый профиль браузера для каждого отдельного теста всего за несколько миллисекунд.

Полезные встроенные инструменты

Codegen: Данный инструмент позволяет генерировать код. Он записывает действия, которые совершаются на странице в браузере, и создает код для их выполнения.

Trace Viewer: Инструмент трассировки Playwright позволяет создавать автоматические снимки экрана и DOM, видеозаписи теста, логи сетевых событий при каждом действии и многое другое.

Trace Viewer помогает исследовать результаты упавшего теста, позволяя вернуться и проверить, что происходило на каждом этапе.

Инспектор Playwright: С помощью инструмента Playwright Inspector можно изучать логи выполнения, видеть точки кликов, проверять локаторы страниц и генерировать селекторы. Он также предоставляет информацию об этапах выполнения теста.

Поддерживаемые браузеры

Как уже было сказано выше, Microsoft регулярно обновляет Playwright, что позволяет обеспечивать поддержку последних версий браузеров. Также фреймворк поддерживает различные языки программирования. Для внедрения зависимостей для каждого языка можно использовать Playwright CLI.

Ниже перечислены версии браузеров и движков, поддерживаемых Playwright на сегодняшний день:

  • Firefox: 76 и выше
  • Chromium: 84 и выше
  • Google Chrome: Chrome 66 и выше
  • Microsoft Edge: Edge 80 и выше
  • WebKit: 13 и выше

Заключение

За время своего существования Playwright снискал широкую популярность среди разработчиков. Он позволяет создавать надежные и эффективные автоматизированные тесты, парсить данные с веб-страниц и выполнять многие другие задачи. Встроенные ожидания значительно сокращают время на написание тестов, повышают их стабильность, и избавляют код от лишних строк. Playwright предоставляет разработчикам эффективное решение для автоматизации веб-тестирования, ускоряя процесс разработки тестовых сценариев и сокращая время их выполнения. Удобный интерфейс и подробные инструкции упрощают вход в мир автоматизации даже новичкам.

Перевод статьи «Test Automation using Playwright».

2 комментария к “Автоматизация тестирования с помощью Playwright”

  1. Пингбэк: Как работать с выпадающими списками в Playwright?

  2. Пингбэк: Рефакторинг локаторов Playwright

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *