Лучшие практики Playwright: 10 правил, которые ИИ-агенты нарушают
ИИ-агенты могут написать 50 тестов Playwright за одну минуту.
Эта скорость — ловушка.
Эти тесты часто падают без видимой причины. ИИ-агенты копируют устаревшие паттерны из обучающих данных. Они не знают, что ваши тесты падали прошлой ночью. Они используют отжившие привычки.
Следуйте этим 10 правилам, чтобы ваши тесты оставались стабильными.
Используйте локаторы на основе ролей Используйте
getByRole,getByLabelилиgetByText. Они соответствуют тому, что видит человек. Ошибка ИИ: Агенты используют CSS или XPath. Они ломаются при изменении даже одного имени класса.Используйте web-first assertions Используйте
expect(locator).toBeVisible(). Это обеспечивает автоматическое ожидание появления элемента на странице. Ошибка ИИ: Агенты добавляютawait page.waitForTimeout(3000). Жесткие ожидания (hard waits) приводят к нестабильным (flaky) тестам.Обеспечьте изоляцию тестов Каждый тест должен начинаться «с чистого листа». Используйте хуки для настройки состояния. Ошибка ИИ: Агенты связывают тесты в цепочки. Если первый тест падает, ломается весь файл.
Подготавливайте данные через API Используйте фикстуру
request, чтобы отправлять данные напрямую в ваш бэкенд. Ошибка ИИ: Агенты кликают по десяти экранам интерфейса, чтобы создать одного пользователя. Это делает тесты медленными и хрупкими.Отдавайте приоритет ролям, а не test ID Сначала используйте
getByRole. Используйтеdata-testidтолько как запасной вариант. Ошибка ИИ: Агенты вешаютdata-testidна всё подряд. Так они пропускают баги, когда у кнопки нет метки (label) для скринридеров.Настройте запись трассировки (traces) только при повторных попытках Установите
trace: 'on-first-retry'в вашей конфигурации. Ошибка ИИ: Агенты либо полностью отключают трассировку, либо включают её для каждого запуска. В первом случае не хватает доказательств ошибки, во втором — всё сильно замедляется.Запускайте тесты параллельно Используйте параллельный режим и шардирование (sharding), чтобы распределить тесты между машинами. Ошибка ИИ: Агенты пишут тесты, которые используют одного и того же пользователя. При параллельном запуске такие тесты конфликтуют друг с другом.
Удалите операторы
ifи блокиtryТест должен следовать по одному пути. Если кнопка должна быть на экране, сделайте утверждение (assertion). Ошибка ИИ: Агенты оборачивают клики вif, чтобы избежать ошибок. Это скрывает реальные баги.Тестируйте поведение, а не внутреннее устройство Проверяйте видимый результат на экране. Ошибка ИИ: Агенты делают проверки (assertions) на CSS-классы или переменные состояния. Они ломаются при каждом рефакторинге кода.
Используйте проекты для охвата разных браузеров Используйте массив
projects, чтобы протестировать Chromium, Firefox и WebKit. Ошибка ИИ: Агенты жестко прописывают один браузер. Вы пропускаете баги, которые проявляются только в Safari.
ИИ пишет быстрый черновик. Ему не хватает мудрости.
Набор «зеленых» тестов, которые ничего не доказывают, опасен. Он создает ложное чувство уверенности.
Пусть ИИ пишет черновик. Используйте человека для применения этих правил. Агент обеспечивает скорость. Человек обеспечивает стабильность.
Источник: https://dev.to/aiwithanton/playwright-best-practices-10-rules-ai-agents-get-wrong-2026-5cii
Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi