IT Narzędzie do testów

Playwright

Definicja #

Playwright to nowoczesna biblioteka do automatyzacji przeglądarek i testów E2E (end-to-end), stworzona przez Microsoft. Obsługuje trzy silniki przeglądarek — Chromium (Chrome, Edge), Firefox i WebKit (Safari) — z jednego API, co umożliwia cross-browser testing bez zmiany kodu testów.

Kluczowe funkcje Playwright:

  • Auto-waits — Playwright automatycznie czeka na element do interakcji (widoczność, możliwość kliknięcia, brak animacji) zanim wykona akcję; eliminuje sleep() i niestabilne testy
  • Locators — preferowany sposób znajdowania elementów: page.getByRole(), page.getByText(), page.getByLabel(); semantyczne i odporne na zmiany DOM
  • Codegen — nagrywanie akcji użytkownika w przeglądarce i generowanie kodu testu: playwright codegen https://example.com
  • Trace Viewer — wizualna oś czasu wykonania testu z zrzutami ekranu, siecią i konsolą; nieoceniony przy debugowaniu
  • API testingrequest.get(), request.post() do testowania REST API bez przeglądarki (lub w połączeniu z UI)
  • Network interception — przechwytywanie i mockowanie żądań HTTP: page.route(); testowanie scenariuszy offline lub z symulowanymi odpowiedziami API
  • Parallel execution — testy wykonywane równolegle w izolowanych kontekstach przeglądarki
  • Wielojęzykowość — API dostępne dla JavaScript/TypeScript, Python, Java i C#

Playwright jest często porównywany z Selenium (starszy, wolniejszy) i Cypress (tylko Chromium w darmowej wersji, brak multi-tab). Playwright jest obecnie rekomendowanym narzędziem do nowych projektów E2E.

Zastosowania #

  • Testy E2E aplikacji webowych — weryfikacja pełnych przepływów użytkownika (rejestracja, koszyk, checkout) we wszystkich głównych przeglądarkach
  • Cross-browser testing — jeden zestaw testów uruchamiany na Chromium, Firefox i WebKit bez modyfikacji kodu
  • Testowanie aplikacji Angular, React, Vue — integracja z frameworkami frontendowymi; dedykowane biblioteki (@playwright/experimental-ct-angular)
  • API + UI testing w jednym — weryfikacja integracji frontendu z backendem w jednym teście
  • Visual regression testing — zrzuty ekranu i porównanie expect(page).toHaveScreenshot()

Ścieżka nauki #

Playwright jest aktualnie najlepszym wyborem do nowych projektów testów E2E — bogata dokumentacja i aktywny development Microsoftu.

Zacznij od:

  • Instalacja: npm init playwright@latest — kreator konfiguruje projekt, pobiera przeglądarki
  • Pierwszy test: test('example', async ({ page }) => { await page.goto('url'); await expect(page).toHaveTitle('...'); })
  • Locators: getByRole(), getByText(), getByPlaceholder() — semantyczne znajdowanie elementów
  • Codegen: nagraj pierwszy test przez npx playwright codegen

Następnie pogłębiaj:

  • Page Object Model — wzorzec organizacji testów dla większych projektów
  • Fixtures i hooks — beforeEach, afterAll, custom fixtures dla współdzielonych zasobów
  • Trace Viewer i debugging — npx playwright show-trace trace.zip
  • Network mocking — page.route() do symulowania odpowiedzi API
  • CI/CD — konfiguracja GitHub Actions z oficjalnym action Playwright

FAQ #

Czym różni się Playwright od Selenium?
Playwright jest nowocześniejszy — obsługuje wiele przeglądarek z jednego API, ma auto-waits eliminujące niestabilne testy, Trace Viewer do debugowania i szybsze wykonanie. Selenium jest starszy, ma większy ekosystem i wsparcie dla egzotycznych przeglądarek. Do nowych projektów E2E rekomendowany jest Playwright.
Czym różni się Playwright od Cypress?
Cypress działa wyłącznie w Chromium (wersja darmowa); Playwright obsługuje Chromium, Firefox i WebKit. Playwright obsługuje multi-tab i multi-origin bez ograniczeń. Cypress ma lepszy DX dla prostszych projektów i rozbudowane pluginy. Playwright jest bardziej elastyczny dla złożonych scenariuszy i cross-browser testowania.
Czy Playwright obsługuje mobilne przeglądarki?
Playwright emuluje urządzenia mobilne (iPhone, Android) przez device emulation — symulację viewport, user-agent i touch events. Nie uruchamia natywnych przeglądarek mobilnych, ale WebKit emuluje Safari mobilne. Dla testów na prawdziwych urządzeniach mobilnych potrzebny jest np. BrowserStack lub Sauce Labs.
Jakie języki programowania obsługuje Playwright?
Playwright ma oficjalne API dla JavaScript/TypeScript (najpopularniejsze), Python, Java i C#. Ekosystem narzędzi (Codegen, Trace Viewer, VS Code extension) jest najbogatszy dla TypeScript. Wybór języka zależy od technologii projektu — w .NET naturalny wybór to C#, w Angular/React — TypeScript.
Ile zarabia QA Engineer znający Playwright?
QA Engineer lub SDET ze znajomością Playwright, TypeScript i Page Object Model zarabia w Polsce od 8 000 do 18 000 zł brutto. Znajomość testów E2E + CI/CD + API testing to kompletny profil QA Automation Engineer, który jest poszukiwany na rynku.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Playwright w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.