Найкращі практики Playwright: 10 правил, у яких ШІ-агенти помиляються
ШІ-агенти можуть написати 50 тестів Playwright за одну хвилину.
Ця швидкість — пастка.
Такі тести часто провалюються без жодної причини. ШІ-агенти копіюють застарілі шаблони з навчальних даних. Вони не знають, що ваші тести провалилися минулої ночі. Вони використовують застарілі звички.
Дотримуйтесь цих 10 правил, щоб ваші тести залишалися стабільними.
Використовуйте локатори на основі ролей Використовуйте
getByRole,getByLabelабоgetByText. Вони відповідають тому, що бачить людина. Помилка ШІ: Агенти використовують CSS або XPath. Вони ламаються, якщо змінити хоча б одну назву класу.Використовуйте web-first асерції Використовуйте
expect(locator).toBeVisible(). Це забезпечує автоматичне очікування сторінки. Помилка ШІ: Агенти додаютьawait page.waitForTimeout(3000). Жорсткі очікування призводять до нестабільних (flaky) тестів.Тримайте тести ізольованими Кожен тест має починатися з чистого стану. Використовуйте хуки для налаштування стану. Помилка ШІ: Агенти пов'язують тести один за одним. Якщо перший тест провалюється, ламається весь файл.
Наповнюйте дані через API Використовуйте фікстуру
request, щоб надсилати дані безпосередньо на ваш бекенд. Помилка ШІ: Агенти клікають через десять екранів інтерфейсу, щоб створити одного користувача. Це робить тести повільними та крихкими.Надавайте пріоритет ролям над test ID Спочатку використовуйте
getByRole. Використовуйтеdata-testidлише як резервний варіант. Помилка ШІ: Агенти ліплятьdata-testidна все підряд. Це призводить до пропуску багів, коли кнопка не має мітки для скрінрідерів.Налаштуйте запис трасування під час повторної спроби Встановіть
trace: 'on-first-retry'у вашому конфігу. Помилка ШІ: Агенти або вимикають трасування, або залишають його увімкненим для кожного запуску. У першому випадку бракує доказів, у другому — це сповільнює роботу.Запускайте паралельно Використовуйте паралельний режим та шардинг (sharding), щоб розподілити тести між машинами. Помилка ШІ: Агенти пишуть тести, які використовують одного й того самого користувача. Такі тести конфліктують між собою під час паралельного запуску.
Видаляйте оператори
ifта блокиtryТест має йти одним шляхом. Якщо кнопка має бути на сторінці, зробіть асерцію. Помилка ШІ: Агенти огортають кліки в операториif, щоб уникнути помилок. Це приховує реальні баги.Тестуйте поведінку, а не внутрішню реалізацію Перевіряйте видимий результат на екрані. Помилка ШІ: Агенти роблять асерції на 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