Testy w przeglądarce
Speedwave umożliwia sterowanie przeglądarką Chromium w trybie headless bezpośrednio z poziomu sesji: otwieranie stron, wypełnianie formularzy, wykonywanie zrzutów ekranu, analizę drzewa dostępności (a11y) oraz weryfikację elementów interfejsu. Funkcjonalność ta jest realizowana za pośrednictwem oficjalnego serwera @playwright/mcp firmy Microsoft. Konfigurację integracji opisano w rozdziale Automatyzacja przeglądarki.
Kiedy stosować automatyzację przeglądarki
Dział zatytułowany „Kiedy stosować automatyzację przeglądarki”Standardowe żądania HTTP sprawdzają się przy pobieraniu statycznej dokumentacji i kodu HTML. Automatyzacja przeglądarki jest zalecana w przypadku aplikacji renderowanych po stronie klienta (SPA), widoków wymagających wykonania kodu JavaScript oraz zadań wymagających zrzutów ekranu lub interakcji z interfejsem użytkownika.
Narzędzia automatyzacji przeglądarki
Dział zatytułowany „Narzędzia automatyzacji przeglądarki”Worker Playwright udostępnia narzędzia podzielone na cztery grupy funkcjonalne:
- Nawigacja: Otwieranie adresów URL, poruszanie się po historii oraz zarządzanie kartami.
- Ekstrakcja danych: Pobieranie drzewa dostępności, zrzuty ekranu całych stron lub wybranych elementów oraz inspekcja logów konsoli i zdarzeń sieciowych.
- Interakcja z UI: Klikanie elementów, wprowadzanie tekstu, wysyłanie formularzy, obsługa list rozwijanych, symulacja klawiszy oraz operacje przeciągania (drag and drop).
- Asercje i selektory: Weryfikacja widoczności elementów i tekstu oraz generowanie odpornych selektorów CSS/XPath.
Zrzuty ekranu oraz struktury DOM są przekazywane bezpośrednio w odpowiedziach narzędzi, bez zapisywania zbędnych plików tymczasowych w katalogu roboczym projektu. Szczegóły dotyczące przepływu danych opisano w sekcji Dane i prywatność.
Testowanie aplikacji lokalnych
Dział zatytułowany „Testowanie aplikacji lokalnych”Ponieważ silnik przeglądarki działa wewnątrz kontenera, adres localhost wskazuje na przestrzeń sieciową kontenera. Aby przetestować lokalny serwer deweloperski uruchomiony na Twojej maszynie (hoście), należy użyć adresu host.docker.internal (np. http://host.docker.internal:3000 lub http://host.docker.internal:4200).
Izolacja i bezstanowość sesji
Dział zatytułowany „Izolacja i bezstanowość sesji”Każde wywołanie testowe rozpoczyna się w nowym, odizolowanym profilu przeglądarki. Ciasteczka, bazy IndexedDB oraz pamięć lokalna (localStorage) nie są przenoszone pomiędzy kolejnymi sesjami.
Kontener workera Playwright podlega standardowym rygorom bezpieczeństwa Speedwave: odebrane uprawnienia jądra Linuksa (capabilities), blokada eskalacji uprawnień, główny system plików w trybie tylko do odczytu oraz montowanie katalogu /tmp z flagą noexec. Zasady izolacji sieciowej opisano w rozdziale Model izolacji.