Playwright 1.56 wprowadza trzech wbudowanych agentów AI, którzy planują zestaw testów, piszą odpowiadające im skrypty TypeScript i naprawiają uszkodzone lokalizatory w locie. Rezultat: mozolne testowanie manualne zmienia się w workflow wspomagany przez AI.

Dlaczego ta zmiana jest ważna

Inżynierowie automatyzacji od dawna działają w powtarzalnej pętli: przekładają wymagania na przypadki testowe, ręcznie piszą skrypty, uruchamiają je, a następnie ścigają niestabilne (flaky) selektory za każdym razem, gdy zmienia się interfejs użytkownika. Koszty utrzymania mogą przewyższyć czas zaoszczędzony dzięki automatyzacji, szczególnie w przypadku szybko zmieniających się front-endów. Dzięki osadzeniu agentów AI bezpośrednio w frameworku testowym, Playwright skraca cykl „napraw i uruchom” i pozwala inżynierom skupić się na wysokopoziomowej strategii testów zamiast na polowaniu na selektory.

Wyjaśnienie trzech agentów

  • Planner Agent – Przyjmuje opis w języku naturalnym dotyczący tego, co powinna robić aplikacja, przeszukuje działającą witrynę i generuje ustrukturyzowany plan w formacie Markdown. Plan zawiera główne przepływy użytkownika oraz scenariusze brzegowe, stanowiąc jasny schemat przed napisaniem jakiegokolwiek kodu.
  • Generator Agent – Przetwarza plan Markdown i generuje wykonalny kod testowy TypeScript. Komunikuje się z uruchomioną przeglądarką, aby zweryfikować stabilność selektorów, i może stosować wzorzec Page Object Model (wzorzec projektowy oddzielający strukturę strony od logiki testów), jeśli zostanie o to poproszony.
  • Healer Agent – Monitoruje przebieg testów; gdy błąd wynika ze zmiany w interfejsie użytkownika, powtarza nieudane kroki, analizuje zaktualizowane DOM i sugeruje poprawiony selektor lub lokalizator. Sugestia pojawia się jako projekt poprawki (draft patch), który programista może zaakceptować lub zmodyfikować.

Agenci działają w ramach „pętli agentowej” (agentic loop): Planner → Generator → Healer. Każdy krok zasila kolejny, tworząc samoregulujący się potok (pipeline), który pozostaje w synchronizacji z testowaną aplikacją.

Czym różni się od ogólnych narzędzi AI

Modele typu chat lub rozszerzenia do autouzupełniania kodu mogą generować fragmenty kodu, ale nie mają bezpośredniego dostępu do żywego DOM ani specyficznej konfiguracji projektu. Agenci Playwright wykorzystują Model Context Protocol, który przesyła (streamuje) aktualną strukturę strony i ustawienia frameworka testowego do modelu, co pozwala AI wyciągać wnioski na temat dokładnych elementów, z którymi będzie wchodzić w interakcję. Generowany kod jest nie tylko poprawny składniowo, ale jest również zakotwiczony w rzeczywistym interfejsie użytkownika w momencie generowania.

Jak zacząć w kilku krokach

  1. Skonfiguruj projekt Node i dodaj Playwright jako zależność.
  2. Uruchom npx playwright init-agents --loop=vscode, aby zainicjować pętlę AI w swoim edytorze.
  3. Napisz minimalny test typu „seed”, który ładuje aplikację; zapewni to agentom konkretny kontekst.
  4. Wydawaj polecenia w języku naturalnym (np. „Create a checkout flow covering discount codes”), aby uruchomić Planera, pozwolić Generatorowi wygenerować skrypt i umożliwić Healerowi dbanie o jego poprawność.

Wskazówki, dzięki którym agenci działają lepiej

  • Jasny test typu seed – Początkowy test powinien niezawodnie uruchamiać aplikację i eksponować główne elementy interfejsu; niejednoznaczne punkty wejścia mogą wprowadzać Planera w błąd.
  • Ustrukturyzowane dane typu seed – Dostarczanie plików JSON fixtures opisujących oczekiwane dane wejściowe pomaga Generatorowi wybierać odpowiednie selektory.
  • Proś o Page Object Model – Wyraźne polecenie dla Generatora, aby tworzył szkielet obiektów stron (page objects), skutkuje czystszym i łatwiejszym w utrzymaniu kodem.
  • Traktuj wyniki AI jako projekt – Przejrzyj wygenerowane skrypty przed ich zatwierdzeniem (commit); agenci wciąż mogą przeoczyć niuanse logiki biznesowej lub wygenerować zbyt ogólne selektory.

Ryzyka i kontrargumenty

Co warto śledzić dalej