Co to robi: Testy uruchamiają się jeden po drugim
Dlaczego: Łatwiej debugować na początku. Zmień na true gdy będziesz mieć dużo stabilnych testów.
Co to robi: Tylko jedna przeglądarka w tym samym czasie Dlaczego: Stabilniejsze, łatwiej śledzić co się dzieje
Co to robi: Zapisuje każdy krok testu (kliknięcia, nawigacja, itp.)
Jak zobaczyć: npx playwright show-trace playwright-report/trace.zip
Kiedy: Zawsze - zobaczysz dokładnie co poszło nie tak
Co to robi: Robi zdjęcie ekranu gdy test failuje
Gdzie: playwright-report/ folder
Co to robi: Nie nagrywa wideo Dlaczego: Trace + screenshoty wystarczą, wideo zajmuje dużo miejsca Kiedy włączyć: Jak będziesz mieć bardzo trudny do zreprodukowania bug
Co to robi: Możesz pisać page.goto('/') zamiast page.goto('http://localhost:3000/')
Przykład:
// Zamiast tego:
await page.goto("http://localhost:3000/dashboard");
// Piszesz:
await page.goto("/dashboard");Co to robi: Automatycznie uruchamia npm run dev przed testami
Bonus: reuseExistingServer: true - jeśli masz już uruchomiony dev server, użyje go (szybciej)
# Uruchom testy E2E
npm run test:e2e
# Zobaczysz w terminalu:
# ✓ should load the homepage (3s)
# ✓ should navigate to login page (2s)# Playwright automatycznie:
# 1. Zrobi screenshot → playwright-report/
# 2. Zapisze trace → playwright-report/
# 3. Pokaże w terminalu co poszło nie tak
# Otwórz raport HTML:
npm run test:e2e:report
# Zobaczysz:
# - Screenshoty
# - Trace viewer (krok po kroku co się działo)
# - Logi błędów# Tryb debug - zatrzymuje test i pokazuje przeglądarkę
npm run test:e2e:debug
# UI mode - najbardziej wygodny!
npm run test:e2e:ui
# Zobaczysz GUI gdzie możesz:
# - Uruchamiać pojedyncze testy
# - Oglądać testy w zwolnionym tempie
# - Inspekcjonować każdy kroktest("should load homepage", async ({ page }) => {
await page.goto("/");
await expect(page).toHaveTitle(/Pathly/);
});npm run test:e2e:uiZobaczysz na żywo co robi Twój test!
Gdy test failuje:
- Otwórz
npm run test:e2e:report - Kliknij na failed test
- Zobacz trace - zobaczysz DOKŁADNIE co się stało, krok po kroku
workers: 1jest OKfullyParallel: falsejest OKtrace: "on"jest OK
Optymalizujesz później, gdy będziesz mieć dużo testów.
fullyParallel: true, // Szybsze testy
workers: 4, // 4 przeglądarki naraz
trace: "retain-on-failure", // Trace tylko przy failachvideo: "retain-on-failure", // Tylko przy failachprojects: [
{ name: "chromium", use: { ...devices["Desktop Chrome"] } },
{ name: "mobile", use: { ...devices["iPhone 12"] } },
],Q: Dlaczego testy są wolne? A: E2E są wolne z natury (uruchamiają prawdziwą przeglądarkę). To normalne.
Q: Czy muszę mieć uruchomiony dev server?
A: Nie! Playwright uruchomi go automatycznie (webServer config).
Q: Gdzie są raporty?
A: W folderze playwright-report/. Otwórz je: npm run test:e2e:report
Q: Co to jest trace? A: To "nagranie" testu - każdy klik, nawigacja, assertion. Bezcenne przy debugowaniu!
Q: Muszę testować na Firefox/Safari? A: Na początku nie. Chromium wystarczy. Dodasz później jeśli będzie potrzeba.