Playwright 1.56. Агенти наступають!
Вітаю. З вами Артур!
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
- Подія
browserContext.on('backgroundpage')застаріла й більше не підтримуватиметься. МетодbrowserContext.backgroundPages()тепер повертатиме порожній список.
Всяке різне
- ARIA-снепшоти тепер рендерять і порівнюють
inputplaceholder. - Додано змінну середовища
PLAYWRIGHT_TESTу процеси воркерів Playwright, щоб розрізняти стан «під час тестування».
Версії браузерів
- Chromium
141.0.7390.37 - Mozilla Firefox
142.0.1 - WebKit
26.0
Також раджу подивитись стрім-огляд моїх товаришів-колег
P.S.
Всім гарного дня, стабільних тестів та буду радий бачити у своїй групі, щоб слідкувати за оновленнями світу розробки та тестування!

6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів