Co nowego w Playwright v1.58.0?

Co nowego w Playwright v1.58.0?
Najnowsza odsłona biblioteki Playwright, która zadebiutowała 23 stycznia tego roku, wzbogaca moduł raportowania o zaawansowaną analitykę i jednocześnie rezygnuje z kilku dotychczasowych metod wyszukiwania elementów na stronach. Deweloperzy zadbali również o aktualizację silników przeglądarek do najświeższych wydań oraz skorygowali sposób konfigurowania interfejsów do komunikacji zewnętrznej.

Nowa optyka na wydajność i odświeżony interfejs

Ważną innowacją w raportach generowanych w formacie HTML jest moduł osi czasu (Timeline), dostępny w sekcji Speedboard. Dzięki tej wizualizacji możemy precyzyjnie śledzić cykl życia testów na wykresie, co znacząco upraszcza namierzanie wąskich gardeł w konkretnych scenariuszach automatyzacji. 

playwright-1-58-0.png

W samym środowisku UI Mode oraz w przeglądarce śladów Trace Viewer zaszły następujące usprawnienia:

  • dostosowanie do motywu systemowego - wygląd aplikacji automatycznie przełącza się między ciemną a jasną kolorystyką, bazując na preferencjach ustawionych w systemie, 
  • sprawna nawigacja po kodzie - zaimplementowano znany z edytorów tekstowych mechanizm wyszukiwania fraz (pod skrótem Cmd/Ctrl+F), działający bezpośrednio w oknach podglądu kodu, 
  • przejrzysty monitoring sieci - odświeżono sposób prezentowania komunikacji sieciowej, kładąc większy nacisk na klarowność danych o czasie trwania zapytań, 
  • czytelniejsze dane obiektowe - przeglądanie plików w formacie JSON stało się prostsze dzięki wbudowanemu mechanizmowi formatowania tekstu wewnątrz Trace Viewera. 

Pożegnanie z wybranymi selektorami i parametrami

Wraz z aktualizacją usunięto kilka funkcji, co dla wielu zespołów będzie wiązało się z koniecznością rewizji istniejących skryptów:

  • rezygnacja z dedykowanych selektorów frameworkowych - z biblioteki zniknęły wbudowane mechanizmy rozpoznawania komponentów React (_react=) oraz Vue (_vue=). Twórcy sugerują, aby zamiast nich korzystać z lokalizatorów opartych na rolach (Role) lub uniwersalnych ścieżek CSS,
  • wyłączenie silnika typu light - wsparcie dla zapytań kończonych frazą :light zostało definitywnie przerwane, a ich miejsce zajęły standardowe selektory CSS,
  • zmiana w obsłudze flagi devtools - parametr devtools: true nie jest już obsługiwany przez metodę browserType.launch(). Chcąc wymusić otwarcie narzędzi programistycznych, należy teraz skorzystać z odpowiednich argumentów przekazywanych podczas startu przeglądarki. 

Fundamenty techniczne i zakres wsparcia

Pod maską nowej wersji kryją się odświeżone silniki: Chromium w wydaniu 145.0.7632.6, Firefox 146.0.1 oraz WebKit 26.0. Stabilność rozwiązania została potwierdzona również w środowiskach Google Chrome oraz Microsoft Edge oznaczonych numerem 144. 

W kwestii wymagań sprzętowych ważną informacją jest porzucenie obsługi silnika WebKit na starszym systemie macOS 13. Osoby pracujące na tej platformie staną przed wyborem między aktualizacją systemu operacyjnego a pozostaniem przy wcześniejszych edycjach Playwright.

Warto również wspomnieć o nowej opcji isLocal: true dostępnej w funkcji connectOverCDP(). Jej włączenie optymalizuje proces komunikacji z lokalnym serwerem protokołu Chrome DevTools, co przekłada się na sprawniejszą interakcję z systemem plików. 

Przedstawione zmiany zmuszą automatyków do przeprowadzenia przeglądu metod pozycjonowania elementów, zwłaszcza tam, gdzie do tej pory polegano na strukturach specyficznych dla Reacta czy Vue. Z kolei wdrożenie widoku Timeline do potoków CI/CD może znacząco poprawić jakość nadzoru nad wydajnością testów, ułatwiając szybką reakcję na wszelkie niepokojące spadki szybkości działania kodu. 

Źródła:
https://playwright.dev/docs/release-notes

To powinno Cię zainteresować