Playwright развивается быстро — и вместе с ним команды незаметно закрепляют плохие практики. Они не ломают тесты сразу, но со временем приводят к флакам, медленным прогонам и боли в CI.
Ключевые антипаттерны, которые стоит проверить у себя:
1️⃣ .click() вместо getByRole()
Селекторы напрямую = хрупкие тесты.
getByRole():
• учитывает accessibility
• автоожидание
• переживает редизайны
♾ .click() повсюду — главный антипаттерн новичков.
2️⃣ waitForTimeout()
Фиксированные паузы:
• замедляют каждый тест
• маскируют проблемы синхронизации
• создают техдолг
♾ Используйте автоожидание и expect().
3️⃣ API-запросы прямо в тестах
Приводят к:
• скрытым зависимостям
• конфликтам данных
• нестабильному параллельному запуску
♾ Подготовку данных выносить в фикстуры, хуки, API-утилиты.
4️⃣ Лишние page.reload()
Playwright не требует перезагрузок.
Избыточные reload:
• тратят время
• ломают гидрацию
• добавляют нестабильность
♾ Reload — только если это часть сценария.
5️⃣ Перегруженные beforeEach
Постоянный логин, сетап, переходы:
• линейно увеличивают время прогона
• плохо масштабируются
♾ beforeAll, фикстуры, test.describe.parallel.
🔗 Источник
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#тест_драйв
