UI automation на Playwright
Playwright удобен для web UI и E2E, но стабильность тестов зависит не от инструмента, а от архитектуры набора. Хороший UI-тест проверяет пользовательский результат, использует устойчивые локаторы и управляет данными явно.
Что важно понять
- Локаторы по роли, label, text и test id там, где это оправдано.
- Ожидания состояния вместо sleep.
- Изоляцию данных: новый пользователь, подготовка через API, cleanup.
- Trace, screenshot, video и понятный assert при падении.
Рабочий порядок
- Опишите сценарий на языке пользователя.
- Подготовьте данные через API или fixture, а не долгий UI setup.
- Используйте web-first assertions и явные ожидания результата.
- Сохраняйте trace на падениях и анализируйте flaky patterns.
Что отдавать команде
- Набор smoke UI tests.
- Page/helper слой без избыточной абстракции.
- HTML report, trace и список стабильности тестов.
Частые провалы
- Использовать CSS-селекторы, привязанные к вёрстке.
- Добавлять fixed timeout вместо ожидания бизнес-состояния.
- Смешивать проверку десяти независимых правил в одном тесте.
Практика
Напишите один Playwright-тест на логин, но подготовьте пользователя через API и проверьте не кнопку, а факт попадания на защищённый экран.