Каталог

Playwright

playwright.dev

Playwright — open-source библиотека для автоматизации браузера от Microsoft. Поддерживает Chromium, Firefox и WebKit с единым API. Автоматизация по селекторам текста, роли и видимости — удобнее Selenium. Автоматическое ожидание элементов перед действиями снижает хрупкость тестов. Запись трассировки действий для отладки. Поддержка Python, JavaScript, Java и C#.

Разбор

Что стоит знать — без маркетингового шума, с акцентом на практику и риски.

Главное

Playwright решает проблемы, накопившиеся в экосистеме автоматизации браузеров за десятилетие. Создан командой, ранее разрабатывавшей Puppeteer в Google. Ключевое преимущество — кроссплатформенность: один и тот же код работает в Chromium, Firefox и WebKit без изменений. Автоожидание элементов: Playwright сам ждёт, пока кнопка станет кликабельной, поле — доступным для ввода, страница — загруженной. Селекторы по роли, тексту и CSS одновременно: можно кликнуть на «кнопку с текстом Войти» вместо хрупкого XPath. Запись трассировки: скриншоты, логи, сетевые запросы на каждом шаге — отладка тестов стала наглядной. Интеграция с Jest, Mocha и другими тестовыми фреймворками.

Факты
  • Playwright создан командой из 6 разработчиков, ранее создавших Puppeteer в Google — они учли все недостатки предшественника.
  • Playwright обогнал Selenium по популярности среди разработчиков в 2024 году — опрос StackOverflow показал 47% против 33%.
  • Microsoft интегрировал Playwright в Visual Studio Code как официальное расширение — тесты можно писать и запускать из IDE.
Совет

Используйте селекторы по роли (getByRole) вместо XPath — они не ломаются при смене вёрстки.

Риск

Многопоточные тесты потребляют много ОЗУ — каждый экземпляр браузера занимает 300–500 МБ памяти.