Przejdź do głównej zawartości

Automatyzacja przeglądarki: Puppeteer i Playwright

Dla programistów webowych możliwość testowania i interakcji z działającą aplikacją jest kluczowa. Serwery MCP Puppeteer i Playwright zapewniają tę funkcjonalność bezpośrednio Twojemu asystentowi AI, efektywnie dając mu pełną kontrolę nad przeglądarką.

Ta integracja odblokowuje potężne przepływy pracy dla testów end-to-end (E2E), weryfikacji wizualnej i interaktywnego debugowania, pozwalając na budowanie i walidację interfejsów webowych w niesamowitym tempie.

Puppeteer (skupiony na Chromium) i Playwright (wieloprzeglądarkowy) to dwie wiodące biblioteki automatyzacji przeglądarki. Ich odpowiednie serwery MCP udostępniają ich podstawowe funkcjonalności Twojemu asystentowi AI.

Automatyczne testy E2E

Główne zastosowanie. Możesz opisać podróż użytkownika prostym językiem, a AI użyje serwera MCP do jej wykonania. Może nawigować po stronach, wypełniać formularze, klikać przyciski i sprawdzać, czy aplikacja zachowuje się zgodnie z oczekiwaniami, wszystko kierowane Twoimi naturalnymi poleceniami.

Weryfikacja wizualna ze zrzutami ekranu

“Czy wygląda dobrze?” Jedna z najpotężniejszych funkcji to możliwość robienia zrzutów ekranu. AI może wyrenderować komponent lub stronę i przechwycić jej obraz. To pozwala na automatyczne testy regresji wizualnej i zapewnia natychmiastowe, wizualne potwierdzenie, że Twój interfejs jest poprawny.


Praktyczne przepływy pracy automatyzacji przeglądarki

Dział zatytułowany „Praktyczne przepływy pracy automatyzacji przeglądarki”

Załóżmy, że właśnie zbudowałeś nowy formularz kontaktowy i chcesz upewnić się, że działa.

  1. Opisz test prostym językiem. Daję wysokopoziomową instrukcję swojemu asystentowi AI.

    Proszę napisz i uruchom test end-to-end dla naszego nowego formularza kontaktowego.
    - Przejdź do strony `/contact`.
    - Wypełnij pola nazwa i email danymi testowymi.
    - Kliknij przycisk "Wyślij".
    - Sprawdź, czy na ekranie pojawia się komunikat "Dziękujemy".
  2. AI wykonuje test. AI przetłumaczy Twoje instrukcje na serię wywołań narzędzi do serwera MCP Puppeteer lub Playwright.

    • browser_navigate(url: '/contact')
    • browser_fill(selector: '#name', text: 'Użytkownik Testowy')
    • browser_fill(selector: '#email', text: 'test@example.com')
    • browser_click(selector: '#submit')
  3. AI weryfikuje rezultat. AI sprawdzi następnie warunek sukcesu. Może to zrobić poprzez zeskrobanie zawartości strony lub, co jeszcze lepsze, robiąc zrzut ekranu.

    • browser_screenshot()

    Wynikowy zrzut ekranu pojawi się bezpośrednio w Twoim czacie, dając Ci natychmiastowe wizualne potwierdzenie, że test przeszedł i interfejs wygląda prawidłowo.

Użytkownik zgłasza, że przycisk “Zaloguj” nie działa na rozmiarach ekranu mobilnego.

  1. Poproś AI o odtworzenie błędu.

    Debugujmy problem z interfejsem. Używając serwera Playwright, otwórz stronę `/login` z widokiem mobilnym (375x667). Następnie spróbuj kliknąć przycisk "Zaloguj" i zgłoś co się dzieje. Zrób zrzut ekranu.
  2. AI bada. AI uruchomi przeglądarkę z określonym widokiem, spróbuje wykonać akcję i przeanalizuje rezultat. Może stwierdzić, że przycisk jest zakrywany przez inny element lub że reguła CSS go ukrywa.

  3. AI proponuje naprawę. Na podstawie swoich ustaleń, AI zaproponuje zmianę CSS lub HTML do naprawienia problemu. Ponieważ ma kontekst z działającego środowiska przeglądarki, jego proponowana naprawa jest znacznie bardziej prawdopodobna, że będzie dokładna.

Integrując automatyzację przeglądarki do swojego przepływu pracy, tworzysz potężną pętlę sprzężenia zwrotnego. Twój asystent AI może nie tylko pisać kod, ale także widzieć, wchodzić w interakcję i weryfikować rezultat, tak jak robiłby to ludzki programista—tylko znacznie, znacznie szybciej.

Poza lokalną automatyzacją przeglądarki, Cloudflare oferuje potężny serwer MCP Browser Rendering, który działa w chmurze:

Cloudflare Browser Rendering

URL serwera: https://browser.mcp.cloudflare.com/sse

Kluczowe funkcje:

  • Pobieranie i konwersja stron webowych do markdown
  • Robienie zrzutów ekranu z każdego URL
  • Brak wymagania lokalnej instalacji przeglądarki
  • Działa w sieci brzegowej Cloudflare
  • Idealne do dokumentacji i wyciągania treści
// AI może wyciągnąć ustrukturyzowaną treść z każdej strony
"Używając Cloudflare browser MCP, pobierz stronę cennikową z
competitor.com i skonwertuj ją do markdown do analizy"
// Serwer MCP będzie:
// 1. Nawigować do URL
// 2. Renderować stronę w pełni (wraz z JS)
// 3. Konwertować do czystego markdown
// 4. Zwrócić ustrukturyzowaną treść
  1. Skonfiguruj testowanie wieloprzeglądarkowe

    "Przetestuj przepływ zamówienia w Chrome, Firefox i Safari:
    - Dodaj przedmiot do koszyka
    - Przejdź do zamówienia
    - Wypełnij dane płatności
    - Sprawdź potwierdzenie zamówienia
    Zrób zrzuty ekranu na każdym kroku dla wszystkich przeglądarek"
  2. AI generuje kompleksowy zestaw testów

    • Tworzy przypadki testowe specyficzne dla przeglądarek
    • Automatycznie obsługuje dziwactwa przeglądarek
    • Przechwytuje różnice wizualne
    • Raportuje problemy kompatybilności
  3. Analiza regresji wizualnej

    "Porównaj zrzuty ekranu ze wszystkich przeglądarek i podkreśl
    wszelkie różnice wizualne w układzie lub renderowaniu"

Monitorowanie wydajności

Połącz automatyzację przeglądarki z analizą wydajności:

"Używając Puppeteer, załaduj stronę główną i:
- Zmierz First Contentful Paint
- Śledź Largest Contentful Paint
- Monitoruj czas wykonania JavaScript
- Zidentyfikuj zasoby blokujące renderowanie
- Wygeneruj raport wydajności"

Emulacja urządzeń

Testuj na popularnych urządzeniach:

  • iPhone 14 Pro
  • Samsung Galaxy S23
  • iPad Pro
  • Różne tablety Android

Interakcje dotykowe

Symuluj gesty mobilne:

  • Akcje przeciągnięcia
  • Przyciśnięcie do powiększenia
  • Długie naciśnięcie
  • Obrót urządzenia
  1. Przeglądarka + GitHub MCP

    "Uruchom testy regresji wizualnej, a jeśli któreś nie przejdą,
    utwórz zgłoszenie GitHub z załączonymi zrzutami ekranu"
  2. Przeglądarka + Azure Monitor

    "Przetestuj stronę produkcyjną, a jeśli wystąpią błędy,
    zapytaj logi Azure Monitor o powiązane problemy backendu"
  3. Przeglądarka + Slack MCP

    "Uruchom zestaw testów E2E i wyślij wyniki na
    kanał #qa-team ze zrzutami ekranu pozytywnych/negatywnych"
  1. Używaj trybu headless dla CI/CD - Szybszy i bardziej niezawodny
  2. Ustaw odpowiednie timeouty - Zapobiegaj zawieszającym się testom
  3. Oczyszczaj zasoby - Zamykaj przeglądarki po użyciu
  4. Zrównoleglaj gdy możliwe - Uruchamiaj testy jednocześnie
  5. Buforuj binarne przeglądarek - Unikaj powtarzanych pobierań
Okno terminala
# Problemy z instalacją Puppeteer
npm install puppeteer --save-dev
# Może wymagać zależności systemowych na Linux:
sudo apt-get install chromium-browser
# Instalacja Playwright
npx playwright install
# Instaluje wszystkie binarne przeglądarek