Playwright

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: playwright.dev

Playwright — это фреймворк для автоматизации браузеров и end-to-end тестирования веб‑приложений, разработанный с целью обеспечить согласованный программный интерфейс для управления современными движками браузеров. Он поддерживает управление браузерами на основе Chromium, Firefox и WebKit и предоставляет средства для запуска интерактивных и безголовых сессий, автоматизации навигации, взаимодействия с элементами страницы и снятия скриншотов. Архитектура фреймворка ориентирована на параллельное выполнение сценариев и интеграцию с существующими тестовыми средами и системами непрерывной интеграции.

Фреймворк реализован с многоязычной поддержкой и официальными клиентами для JavaScript/TypeScript, Python, Java и .NET, что позволяет использовать Playwright в различных технологических стеках. Среди ключевых характеристик — встроенные механизмы ожидания для синхронизации действий с загрузкой страницы и асинхронными изменениями DOM, возможности захвата трассировок выполнения для последующего анализа и отладки, а также инструменты записи сеансов, упрощающие генерацию начальных тестов. История развития Playwright отражает тенденцию к унификации автоматизации для нескольких движков и повышению надёжности тестов за счёт автоматических стратегий ожидания и явного управления контекстами браузера.

  • Кросс‑браузерность: единый API для Chromium, Firefox и WebKit.
  • Многоязычность: официальные библиотеки для JavaScript/TypeScript, Python, Java и .NET.
  • Автоматическое ожидание: встроенные механизмы ожидания элементов и состояний страницы для снижения числа флейков.
  • Трассировка и запись: захват трассировок выполнения, видео и скриншотов для отладки и анализа тестов.
  • Запуск в безголовом и интерактивном режимах: поддержка headless и headful сессий, управление параметрами браузера.
  • Контекстные изоляции: создание независимых контекстов (incognito-like) для параллельного тестирования и изоляции состояния.
  • Инструменты генерации тестов: запись действий пользователя и генерация начальных тестовых сценариев.
  • Управление сетью: перехват и подмена сетевых запросов, симуляция ответов и управление задержками/ошибками.
  • Интеграция CI/CD: приспособленность к автоматизированным конвейерам сборки и тестирования.
  • Поддержка мобильных эмулей: эмуляция устройств, размеров экрана и мобильных режимов ввода.
Подробнее