Automatyczne testowanie w przeglądarce
Speedwave potrafi z poziomu sesji sterować prawdziwą przeglądarką: otwierać strony, klikać i wpisywać tekst, wypełniać formularze, robić zrzuty ekranu, odczytywać wyrenderowany DOM i sprawdzać, czy dany element lub tekst jest widoczny. Odbywa się to w przeglądarce Chromium działającej bez interfejsu graficznego (headless), którą udostępnia oficjalny serwer @playwright/mcp firmy Microsoft. W Automatyzacji przeglądarki zobaczysz, jak wpisuje się to w pozostałe integracje Speedwave.
Kiedy po to sięgnąć
Dział zatytułowany „Kiedy po to sięgnąć”Zwykłe pobranie strony (web fetch) poradzi sobie tylko ze statycznym HTML-em. Po automatyzację przeglądarki sięgaj wtedy, gdy stronę renderuje JavaScript, gdy jest to aplikacja jednostronicowa (SPA), gdy treść potrzebuje czasu, żeby się załadować, albo gdy samo zadanie wymaga zrzutu ekranu, migawki wyrenderowanego DOM-u czy interakcji ze stroną.
Co Speedwave potrafi zrobić w przeglądarce
Dział zatytułowany „Co Speedwave potrafi zrobić w przeglądarce”Narzędzia obejmują nawigację, wydobywanie danych, interakcję i asercje:
- Nawigacja: przechodzenie między stronami, cofanie się, przełączanie kart.
- Wydobywanie danych: migawki dostępności, zrzuty ekranu, odczyt komunikatów konsoli i żądań sieciowych.
- Interakcja: klikanie, wpisywanie tekstu, wypełnianie formularzy, wybieranie opcji, naciskanie klawiszy, najeżdżanie kursorem, przeciąganie.
- Asercje i lokatory: sprawdzanie, czy element lub tekst jest widoczny, oraz tworzenie dla niego lokatorów.
Zrzuty ekranu i zrzuty strony trafiają wprost do odpowiedzi narzędzia. Przeglądarka nie zapisuje w twoim projekcie żadnych plików. W Danych i prywatności sprawdzisz, co sesja wysyła do modelu.
Testowanie własnej aplikacji
Dział zatytułowany „Testowanie własnej aplikacji”Przeglądarka działa w kontenerze, więc localhost odnosi się tam do kontenera, a nie do twojego komputera. Aby skierować Speedwave na serwer deweloperski uruchomiony u ciebie lokalnie, wpisz w adresie URL host.docker.internal zamiast localhost, na przykład http://host.docker.internal:4200 dla serwera deweloperskiego na porcie 4200.
Sesje nie zachowują stanu
Dział zatytułowany „Sesje nie zachowują stanu”Każda sesja startuje z czystym profilem przeglądarki. Ciasteczka ani dane zapisane w jednej sesji nie przechodzą do kolejnej, więc logowanie wykonane w jednym uruchomieniu nie jest dostępne w następnym.
Kontener przeglądarki jest zabezpieczony tak samo jak każdy inny worker: wszystkie uprawnienia (capabilities) Linuksa odebrane, brak eskalacji uprawnień, główny system plików tylko do odczytu i zakaz uruchamiania czegokolwiek z pamięci tymczasowej. To, jaki ma zasięg sieciowy oraz z czym na twoim komputerze może, a z czym nie może się połączyć, opisuje Model izolacji.