1. «Мега-тест» без проверок на шагах
Если весь путь в одном тесте без expect на каждом шаге — при падении непонятно, где сломалось. Проверяйте результат каждого действия.
2. Повторный логин вместо storage_state
Логин в каждом тесте замедляет набор и делает его зависимым от стабильности формы входа. Сохраните сессию один раз.
3. Завязка тестов друг на друга
«Тест заказа» не должен зависеть от «теста добавления в корзину». Каждый тест готовит своё состояние сам (через UI или API).
4. Игнор негативных сценариев
Проверяйте не только happy path: пустые поля, недоступный товар, ошибка оплаты. Реальные баги часто на «несчастливых» путях.
5. Хардкод данных без параметризации
Три почти одинаковых теста на три товара — это parametrize с одним телом, а не copy-paste.
⚠️ Конкретные селекторы зависят от версии сайта — сверяйтесь через инспектор.