Przejdź do głównej zawartości

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.

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.

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ść.

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).

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.