Что такое Playwright?
Playwright — современный инструмент Microsoft для автоматизации браузеров и E2E-тестирования. Он управляет Chromium, Firefox и WebKit одним API и из коробки решает главную боль автотестов — нестабильность из-за таймингов.
Ключевая особенность — автоожидания: перед действием Playwright сам дожидается, пока элемент появится и станет кликабельным. Это убирает ручные паузы, из-за которых тесты падают через раз без всякой причины.
В комплекте идут удобные инструменты: запись сценария кликами, трассировка упавшего теста с историей шагов и скриншотами, параллельный запуск, перехват сетевых запросов. Пишут тесты чаще всего на TypeScript или Python.
Playwright или Selenium
Selenium — отраслевой стандарт с максимальной поддержкой языков и браузеров, чаще встречается в крупных и давних проектах, особенно на Java. Playwright моложе, быстрее в запуске и стабильнее по умолчанию, поэтому его чаще выбирают в новых проектах. Для карьеры в QA Automation полезно знать оба.
Связанные термины
Selenium — инструмент для автоматизации браузера: он позволяет программно открывать страницы, кликать по элементам, вводить текст и проверять содержимое. На нём пишут автотесты веб-интерфейсов на Java, Python, C# и других языках.
Test AutomationАвтоматизация тестирования — написание программ, которые сами выполняют проверки и сравнивают результат с ожидаемым. Такие тесты запускают при каждом изменении кода, чтобы быстро замечать поломки в уже работающей функциональности.
E2E TestingE2E (end-to-end) тестирование — проверка полного пользовательского сценария на собранной системе: тест открывает браузер, регистрируется, добавляет товар в корзину, оплачивает и убеждается, что заказ появился. Все компоненты при этом работают по-настоящему.
TypeScriptTypeScript — надстройка над JavaScript, которая добавляет статические типы. Вы указываете, какого типа данные ожидает функция или переменная, а компилятор находит несоответствия ещё до запуска кода и превращает исходник в обычный JavaScript.
CI/CDCI/CD — автоматический конвейер, через который проходит каждое изменение кода: сборка, запуск тестов и доставка готовой версии на серверы. Разработчик отправляет код в репозиторий, а всё остальное происходит без ручных действий.