Narzędzia Chrome do sprawnego i automatycznego testowania

Testowanie jest ważne. Jest to kluczowy krok przed udostępnieniem użytkownikom aplikacji lub witryny, a także nowych funkcji. Dzięki niemu możesz sprawdzić, czy wszystko działa zgodnie z oczekiwaniami. Jednak wiele testów nadal odbywa się ręcznie, gdy współpracownicy lub inżynierowie testujący sprawdzają nową funkcję i zgłaszają problemy.

Ręczne testowanie może wykryć pewne rodzaje problemów, ale może pominąć wiele innych. Osoby przeprowadzające testy mogą nie uwzględnić przypadków skrajnych lub nie przetestować w pełni konkretnej ścieżki w aplikacji. Nie mają też wszystkich informacji, które Ty miałeś/miałaś podczas pisania kodu, i nie znają konkretnych problemów, na które ma zapobiegać kod. Czy wraz z upływem czasu i dodawaniem nowych funkcji zespół będzie ponownie testować wszystkie elementy, które wcześniej działały, aby upewnić się, że zmiany nie spowodowały ich uszkodzenia?

Dlatego zespół Chrome uważa, że testowanie automatyczne jest bardzo ważne. Korzystając z zestawu testów, który niezawodnie i regularnie sprawdza, czy funkcja nie uległa uszkodzeniu, możesz mieć pewność, że wszystkie szczegóły są testowane zarówno teraz, jak i w przyszłości. Twoja wiedza jako dewelopera funkcji jest zawarta w teście.

Wiemy jednak, że testowanie automatyczne może być trudne. Dlatego zespół Chrome udostępnia te narzędzia i wskazówki, aby ułatwić Ci pracę.

Animator

Puppeteer to biblioteka Node.js. Umożliwia automatyzację Chrome, Chromium i Firefox za pomocą łatwego w użyciu interfejsu API.

Chociaż ten interfejs API był pierwotnie oparty na protokole Chrome DevTools, naszym celem jest do końca roku zastąpić go nowym, zaawansowanym protokołem WebDriver BiDi. WebDriver BiDi, stworzony wspólnie przez wszystkich głównych dostawców przeglądarek, upraszcza wiele przypadków użycia automatyzacji i umożliwia wiele nowych, a także jest zgodny z różnymi przeglądarkami.

Nie musisz jednak czekać. Interfejs Puppeteer API umożliwia już wiele zastosowań automatyzacji, które będą jeszcze lepsze dzięki WebDriver BiDi. Od testowania po skanowanie wizualne i automatyzację procesów – możesz robić wiele rzeczy za pomocą funkcji takich jak interakcje ze stroną, przechwytywanie żądańzrzuty ekranu. Możesz nawet testować modele AI w chmurze za pomocą WebGPU i WebGL.

Puppeteer jest też używany przez narzędzia takie jak WebdriverIO, czyli kompleksowy framework do testowania przeglądarek, oraz Privacy Sandbox Analysis Tool, który pozwala lepiej zrozumieć wykorzystanie plików cookie i danych użytkownika w witrynie.

Chrome bez interfejsu graficznego

Jeśli kiedykolwiek automatyzowałeś/automatyzowałaś Chrome za pomocą Puppeteer, mogłeś/mogłaś zauważyć, że podczas wykonywania testów nie wyświetla się okno przeglądarki. Domyślnie Puppeteer uruchamia Chrome w trybie bez interfejsu. Oznacza to, że podczas działania automatyzacji nie ma okna przeglądarki.

Czy wiesz, że tryb bez interfejsu graficznego w Chrome to nie tylko Chrome bez okna, ale zupełnie oddzielna wersja Chrome? Przez długi czas prowadziło to do zamieszania i utrudniało śledzenie błędów oraz problemów.

W Chrome 112 wprowadziliśmy nowy tryb bez interfejsu graficznego, który opiera się na tej samej bazie kodu co zwykła wersja Chrome. Dzięki temu nie tylko zmniejszysz dotychczasowe zamieszanie, ale też uzyskasz dostęp do funkcji, które wcześniej były niemożliwe, np. do korzystania z rozszerzeń podczas automatyzacji.

Od wersji 22 Puppeteer używa nowego trybu bez serwera jako domyślnego. Jeśli używasz Chrome Headless w ramach innych rozwiązań automatyzujących, możesz wymusić nowy tryb bez interfejsu użytkownika za pomocą przełącznika wiersza poleceń --headless=new.

Nowy tryb bez interfejsu graficznego w Chrome jest bardziej wydajny, ale nie jest tak lekki jak stary tryb bez interfejsu graficznego. Jeśli masz bardzo ograniczone zasoby lub nie potrzebujesz wszystkich funkcji Chrome, możesz użyć starego trybu bez interfejsu graficznego jako chrome-headless-shell.

Chrome for Testing

Podczas testowania musisz mieć pełną kontrolę nad środowiskiem testowym: systemem operacyjnym, przeglądarką i jej wersją. Z automatyczną aktualizacją Chrome może to być trudne.

Dlatego stworzyliśmy Chrome for Testing – wersję Chrome bez automatycznej aktualizacji, która jest dostępna w ramach każdej wersji Chrome dla każdego głównego systemu operacyjnego. Można ją pobrać z archiwum wersji. Dzięki temu możesz uruchamiać przepływy automatyzacji w konkretnej wersji Chrome bez zbędnych zabiegów.

Do binarnych plików Chrome for Testing można uzyskać dostęp z panelu dostępności Chrome for Testing, interfejsu JSON API lub za pomocą narzędzia wiersza poleceń Puppeteer.


Puppeteer, zaktualizowany tryb bez głowy w Chrome i Chrome do testowania to tylko część działań, które nasz zespół prowadzi obecnie, aby automatyzacja przeglądarki i uruchamianie testów były dla Ciebie jak najwygodniejsze. A podobne narzędzia, takie jak Nagrywarka w Narzędziach deweloperskich, ułatwiają tworzenie testów: możesz nagrywać w Chrome przebieg użytkownika i odtwarzać go w Puppeteer.

Więcej informacji o testowaniu w witrynie web.dev

Narzędzie opisane w tym poście pomoże Ci ulepszyć automatyczne testowanie. Jeśli jednak dopiero zaczynasz, może się wydawać, że jest wiele do zrozumienia i nauczenia się. Dlatego utworzyliśmy nowy 10-modułowy kurs Testowanie na web.dev. Ten obszerny kurs obejmuje podstawowe pojęcia związane z testowaniem, miejsca i sposoby przeprowadzania testów, typy testów oraz to, co należy testować. To świetny punkt wyjścia do rozpoczęcia testowania. Gdy już poznasz podstawy, możesz przejść do naszej kolekcja Automatyzacja testów, która zawiera szczegółowe informacje i praktyczne wskazówki dotyczące bardziej szczegółowych kwestii związanych z testowaniem.