Automatyzacja przeglądarki
Integracja automatyzacji przeglądarki udostępnia w Speedwave instancję Chromium w trybie headless, napędzaną oficjalnym serwerem Microsoft @playwright/mcp. Claude może nawigować po złożonych aplikacjach webowych, analizować strukturę dynamicznie renderowanego drzewa DOM oraz drzewa dostępności (a11y), wypełniać formularze, wykonywać skrypty JavaScript oraz tworzyć zrzuty ekranu. Przykłady procesów znajdziesz w rozdziale Automatyczne testowanie w przeglądarce.
Architektura i środowisko headless
Dział zatytułowany „Architektura i środowisko headless”Automatyzacja przeglądarki działa jako nieuprzywilejowana usługa compose o nazwie speedwave_<projekt>_mcp_playwright. Ponieważ worker wykonuje zadania bezpośrednio na wskazanych adresach URL bez potrzeby przechowywania poświadczeń API, nie wymaga podpinania wolumenów z tokenami.
Instancja workera jest współdzielona przez aktywne skille oraz wtyczki, co zapobiega uruchamianiu nadmiarowych procesów Chromium.
Wykaz narzędzi
Dział zatytułowany „Wykaz narzędzi”Integracja @playwright/mcp udostępnia 21 operacji:
| Narzędzie | Zakres działania |
|---|---|
browser_navigate | Przejście pod wskazany adres URL na aktywnej stronie. |
browser_navigate_back | Powrót do poprzedniej strony w historii sesji przeglądarki. |
browser_tabs | Wyświetlanie listy, otwieranie, przełączanie i zamykanie kart przeglądarki. |
browser_snapshot | Pobranie hierarchii drzewa dostępności aktywnej strony. |
browser_take_screenshot | Wykonanie zrzutu ekranu widocznego obszaru (viewport) lub całej strony jako obrazu w formacie base64. |
browser_console_messages | Odczyt komunikatów z konsoli przeglądarki. |
browser_network_requests | Inspekcja strumienia żądań sieciowych HTTP/HTTPS. |
browser_evaluate | Wykonywanie wyrażeń JavaScript w kontekście strony lub elementu. |
browser_run_code | Wykonywanie bloków kodu automatyzacji Playwright. |
browser_click | Wysłanie zdarzenia kliknięcia do wskazanego elementu DOM. |
browser_hover | Wysłanie zdarzenia najechania kursorem myszy na element (hover). |
browser_drag | Wykonanie akcji przeciągnięcia i upuszczenia między elementami (drag-and-drop). |
browser_type | Wprowadzanie tekstu w pole edycyjne. |
browser_press_key | Wysłanie kodu konkretnego klawisza lub skrótu klawiszowego. |
browser_select_option | Wybór opcji z listy rozwijanej HTML. |
browser_fill_form | Wypełnianie wielu pól formularza jednocześnie. |
browser_file_upload | Dołączanie plików lokalnych do elementów wyboru pliku w formularzu HTML. |
browser_handle_dialog | Akceptowanie lub odrzucanie okien dialogowych JavaScript (alert, confirm). |
browser_wait_for | Oczekiwanie na widoczność elementu, wyrenderowanie tekstu lub upływ określonego czasu. |
browser_resize | Zmiana wymiarów widocznego obszaru okna przeglądarki (viewport). |
browser_close | Zamknięcie aktywnej strony przeglądarki. |
Zrzuty ekranu oraz zrzuty drzewa dostępności są zwracane bezpośrednio w odpowiedziach narzędzia. Tymczasowa pamięć podręczna przeglądarki i pliki cookie są usuwane przy restarcie kontenera.
Aby połączyć się z lokalnym serwerem deweloperskim na stacji roboczej, użyj adresu http://host.docker.internal:<PORT> zamiast localhost.
Konfiguracja
Dział zatytułowany „Konfiguracja”- Włącz funkcje Beta features w menu zasobnika systemowego Speedwave.
- Aktywuj Automatyzację przeglądarki w panelu integracji projektu.
- Poczekaj, aż środowisko kontenerów zbuduje obraz workera Chromium. Kolejne aktywacje korzystają z warstw zapisanych w pamięci podręcznej.
Bezpieczeństwo
Dział zatytułowany „Bezpieczeństwo”Kontener workera wymusza pełne zabezpieczenia odizolowanego środowiska (cap_drop: ALL, no-new-privileges, główny system plików tylko do odczytu, noexec,nosuid dla partycji tmpfs). Wewnętrzna izolacja Chromium zostaje oddelegowana do granic kontenera. Szczegółowe specyfikacje bezpieczeństwa znajdziesz w rozdziale Model izolacji.