Найкращі практики Playwright: 10 правил, у яких ШІ-агенти помиляються

ШІ-агенти можуть написати 50 тестів Playwright за одну хвилину.

Ця швидкість — пастка.

Такі тести часто провалюються без жодної причини. ШІ-агенти копіюють застарілі шаблони з навчальних даних. Вони не знають, що ваші тести провалилися минулої ночі. Вони використовують застарілі звички.

Дотримуйтесь цих 10 правил, щоб ваші тести залишалися стабільними.

  1. Використовуйте локатори на основі ролей Використовуйте getByRole, getByLabel або getByText. Вони відповідають тому, що бачить людина. Помилка ШІ: Агенти використовують CSS або XPath. Вони ламаються, якщо змінити хоча б одну назву класу.

  2. Використовуйте web-first асерції Використовуйте expect(locator).toBeVisible(). Це забезпечує автоматичне очікування сторінки. Помилка ШІ: Агенти додають await page.waitForTimeout(3000). Жорсткі очікування призводять до нестабільних (flaky) тестів.

  3. Тримайте тести ізольованими Кожен тест має починатися з чистого стану. Використовуйте хуки для налаштування стану. Помилка ШІ: Агенти пов'язують тести один за одним. Якщо перший тест провалюється, ламається весь файл.

  4. Наповнюйте дані через API Використовуйте фікстуру request, щоб надсилати дані безпосередньо на ваш бекенд. Помилка ШІ: Агенти клікають через десять екранів інтерфейсу, щоб створити одного користувача. Це робить тести повільними та крихкими.

  5. Надавайте пріоритет ролям над test ID Спочатку використовуйте getByRole. Використовуйте data-testid лише як резервний варіант. Помилка ШІ: Агенти ліплять data-testid на все підряд. Це призводить до пропуску багів, коли кнопка не має мітки для скрінрідерів.

  6. Налаштуйте запис трасування під час повторної спроби Встановіть trace: 'on-first-retry' у вашому конфігу. Помилка ШІ: Агенти або вимикають трасування, або залишають його увімкненим для кожного запуску. У першому випадку бракує доказів, у другому — це сповільнює роботу.

  7. Запускайте паралельно Використовуйте паралельний режим та шардинг (sharding), щоб розподілити тести між машинами. Помилка ШІ: Агенти пишуть тести, які використовують одного й того самого користувача. Такі тести конфліктують між собою під час паралельного запуску.

  8. Видаляйте оператори if та блоки try Тест має йти одним шляхом. Якщо кнопка має бути на сторінці, зробіть асерцію. Помилка ШІ: Агенти огортають кліки в оператори if, щоб уникнути помилок. Це приховує реальні баги.

  9. Тестуйте поведінку, а не внутрішню реалізацію Перевіряйте видимий результат на екрані. Помилка ШІ: Агенти роблять асерції на CSS-класи або змінні стану. Вони ламаються під час кожного рефакторингу коду.

  10. Використовуйте проєкти для охоплення браузерів Використовуйте масив projects, щоб протестувати Chromium, Firefox та WebKit. Помилка ШІ: Агенти жорстко прописують один браузер. Ви пропускаєте баги, які виникають лише в Safari.

ШІ пише швидку першу чернетку. Йому бракує мудрості.

Зелений набір тестів, який нічого не доводить, є небезпечним. Він створює хибне відчуття довіри.

Нехай ШІ пише чернетку. Використовуйте людину, щоб застосовувати ці правила. Агент забезпечує швидкість. Людина забезпечує стабільність.

Джерело: https://dev.to/aiwithanton/playwright-best-practices-10-rules-ai-agents-get-wrong-2026-5cii

Додаткова спільнота для навчання: https://t.me/GyaanSetuAi