Playwright 1.56. Агенти наступають!

💡 Усі статті, обговорення, новини про тестування — в одному місці. Приєднуйтесь до QA спільноти!

Вітаю. З вами Артур!

Playwright релізнув нову версію 1.56.

Коротенький огляд того що там всередині.

Найбільшим оновленням, мабуть, цього реліза слід вважати додавання агентів.

Тепер у нас в МСР плейрайта є 3 агенти: planner, generator та healer.

🎭 planner досліджує застосунок і створює тест-план у Markdown форматі
🎭 generator перетворює Markdown-план на файли тестів Playwright
🎭 healer виконує набір тестів і автоматично виправляє неуспішні тести

ініціалізація та запуск агента відбуваєтсья дуже просто:

npx playwright init-agents --loop=vscode

Доречі, зробити цей сетап на Cursor у мене так і не вийшло. Якщо у когось вийшло і воно запрацювало — маякніть у коменти :)

Ця команда створить 4 файли: 🎭 planner.chatmode.md, 🎭 generator.chatmode.md, 🎭 healer.chatmode.md та seed.spec.ts.

planner.chatmode.md — інстуркціїї щодо того як робити план виконання тестів. Там вказівки по тіпа — зайди на сторінку, збери інформацію, проаналізуй які юзер сценарії можна зробити, структуруй та розбий на покроковий план і тіпа такого.

generator.chatmode.md — тут інструкціїї як генерувати тести. Невеличкі вказівки та приклад як генерити тести.

healer.chatmode.md — а тут як тести фіксити.

seed.spec.ts — вхідна точка до агента. Його треба підтюнити під ваші потреби. Він буде використан як базовий сетап, наприклад логін та відкриття сторінки, коли буде писати тести плейрайт.

На виході планнер агента ви отримаєте маркдаун з інстуркціями по вашому тест плану — які сценарії плейрайт визначив до автоматизації.

Генератор буде використовувати план з попереднього кроку для «написання» тестів синтаксисом плейрайта уже. І як вихід отримаєте тестіки у папці tests.

Якщо тести будуть фейлитись їх можна пофіксити через хілер :) Отакий симбіоз трьох агентів вийшов.

Я дуже надихнувся демкою від плейрайту і вирішив попробувати і сам. Спробувавши на реальному проєкті я залишився дуже незадоволеним. Воно дуже рандомні сценарії мені згенерило (так у простих апках де просто круд та серч це робиться ізі, але коли у нас дуже неочевидна бізнес логіка воно просто почало феєрично галюціонювати). Генератор тестів, доречі плюс мінус нормально відпрацював. Тут плюсик.
Тому з таким підходом — краще дуе сильно редагувати ото файлік з планом перед тим як генерити їх агентом тести. Але чи варто це цього? Як на мене простіш уже наклікати через рекорд енд плейбек підход і потім агенту дати задачу переписати цей тест у ООП-форматі. Якось треба зробити воркшоп по цьому, доречі.
Щодо хілера тестів — штука прикольна виявилась насправді. Додає додатковий контекст і подекуди дійсно допомагає зафіксити якісь нестабільності чи впавші тести.

Нові методи

Нові методи page.consoleMessages() і page.pageErrors() для отримання найсвіжіших консольних повідомлень зі сторінки.

Новий метод page.requests() для отримання найсвіжіших мережевих запитів зі сторінки.

Додано параметри --test-list і --test-list-invert для ручного задання переліку тестів із файлу або пропуску тестів.


Режим UI та HTML-репортер

  • Додано опцію для репортера html, щоб вимкнути кнопку «Copy prompt» — PLAYWRIGHT_HTML_NO_COPY_PROMPT.
  • Додано опцію для репортера html і Режиму UI, щоб об’єднувати файли, згортаючи блоки test і describe в єдиний список.
  • Додано опцію в Режим UI, що повторює параметри --update-snapshots.
  • Додано опцію в Режим UI для запуску лише одного воркера одночасно.

Breaking Changes


Всяке різне

  • ARIA-снепшоти тепер рендерять і порівнюють input placeholder.
  • Додано змінну середовища PLAYWRIGHT_TEST у процеси воркерів Playwright, щоб розрізняти стан «під час тестування».

Версії браузерів


  • Chromium 141.0.7390.37
  • Mozilla Firefox 142.0.1
  • WebKit 26.0

Також раджу подивитись стрім-огляд моїх товаришів-колег

P.S.

Всім гарного дня, стабільних тестів та буду радий бачити у своїй групі, щоб слідкувати за оновленнями світу розробки та тестування!

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Спасибо.
Было бы полезно добавить в обзор, как добавить и использовать агенты в нормальных языках (Java / Python / C#).

доречі гарна ідейка! над буде по вільному часу написати про це статейку! дякую зі ідею)

Привіт! У мене вийшло зробити сетап в Cursor.
переконайтесь, що у вас Cursor оновлений з версією VS Code v1.105+

о! дякую. ща спробую!

Підписатись на коментарі