UI automation на Playwright

Playwright удобен для web UI и E2E, но стабильность тестов зависит не от инструмента, а от архитектуры набора. Хороший UI-тест проверяет пользовательский результат, использует устойчивые локаторы и управляет данными явно.

Что важно понять

  • Локаторы по роли, label, text и test id там, где это оправдано.
  • Ожидания состояния вместо sleep.
  • Изоляцию данных: новый пользователь, подготовка через API, cleanup.
  • Trace, screenshot, video и понятный assert при падении.

Рабочий порядок

  1. Опишите сценарий на языке пользователя.
  2. Подготовьте данные через API или fixture, а не долгий UI setup.
  3. Используйте web-first assertions и явные ожидания результата.
  4. Сохраняйте trace на падениях и анализируйте flaky patterns.

Что отдавать команде

  • Набор smoke UI tests.
  • Page/helper слой без избыточной абстракции.
  • HTML report, trace и список стабильности тестов.

Частые провалы

  • Использовать CSS-селекторы, привязанные к вёрстке.
  • Добавлять fixed timeout вместо ожидания бизнес-состояния.
  • Смешивать проверку десяти независимых правил в одном тесте.

Практика

Напишите один Playwright-тест на логин, но подготовьте пользователя через API и проверьте не кнопку, а факт попадания на защищённый экран.