Warsztaty 29 Maja
Zapraszamy do zapoznania się ze szczegółami warsztatów.
RABAT: Grupy od 4 osób: rabat 10%
Warsztat III:
"Zaawansowana automatyzacja: Playwright + TypeScript — Wzorce AAA i SMURF jako „next level” po Page Object: typowane Fixtures i testy API w praktyce"
Data: 29.05.2026 r. (online)
Czas trwania: godzina 9:00-17:00
Wymagania techniczne:
Hardware i środowisko zdalne:
– System operacyjny Windows / Linux / MacOS(iOS)
– Laptop z minimum 8 GB RAM dla wygodnej pracy przy uruchomionych testach
– OPCJONALNIE: Konto GitHub (przydatne do forków / push/pull i pracy z przykładowym repo).
Oprogramowanie / Środowisko programistyczne (wersje rekomendowane):
– Node.js LTS (zalecane 18.x lub nowsze LTS).
https://nodejs.org/en
– Visual Studio Code lub Cursor (Wersja darmowa)
– https://code.visualstudio.com/
– https://cursor.com/
– OPCJONALNIE: Git lub GitHub Desktop (do klonowania i pracy z repozytorium – wymagana podstawowa wiedza jak wykorzystać narzędzie).
https://git-scm.com/
https://desktop.github.com/download/
Opis
Masz dość niestabilnych testów, które psują Ci pipeline i zjadają czas? Ten warsztat to intensywna, praktyczna podróż od „flaky” do „reliable”. Warsztat skierowany do osób średniozaawansowanych i zaawansowanych, które już piszą testy w Playwright+TypeScript/JavaScript i chcą wdrożyć profesjonalne, skalowalne praktyki automatyzacji.
Przez cały dzień skupimy się na tym, co naprawdę działa w produkcyjnych zestawach testów:
- AAA (Arrange-Act-Assert) jako sposób na czytelne i łatwe w utrzymaniu testy,
- SMURF (Small, Maintainable, Understandable, Repeatable, Fast) jako checklistę jakości dla każdego testu,
- zaawansowane fixtures w Playwright — worker- i test-scoped, kompozycja, typowanie i teardown,
- testy API i hybrydowe scenariusze API / UI / API+UI – seeding danych, idempotentny cleanup i szybsze, bardziej deterministyczne testy.
Będziemy naprawiać realne, flakujące testy: refaktoryzacja do AAA i SMURF, przenoszenie kosztownych setupów do worker-fixtures, mockowanie lub kontrola sieci (route.fulfill), a także wdrożenie strategii paralelizacji i sharding w CI. Każde zagadnienie to krótkie wprowadzenie i od razu hands-on w repozytorium ćwiczeniowym — piszesz kod, uruchamiasz, mierzysz efekty.
Po warsztacie odejdziesz z praktycznym zestawem: typowanymi fixtures, wiedzą jak wykorzystać w praktyce SMURF + AAA, sprawdzonymi scenariuszami API+UI, checklistą SMURF i gotową konfiguracją CI, która realnie skróci czas i poprawi stabilność Twoich testów. To nie teoria — to przepustka do testów, które przestaną Cię wkurzać i zaczną naprawdę pomagać.
Program szkolenia:
-
Wprowadzenie i cele
Szybkie przypomnienie zasad: AAA, SMURF oraz omówienie repozytorium ćwiczeniowego. -
1. Diagnostyka jakości testów i metryki
- Flaky rate, time-per-test, MTTR (mean time to repair), test coverage odniesione do e2e.
- Skrypty do zbierania statystyk i analiza historycznych wyników.
- Ćwiczenie: analiza metryk z przykładowego pipeline. -
2. Wzorzec AAA i SMURF w praktyce
- Co jest „Arrange”, „Act”, „Assert” w kontekście fixtures i seedów.
- SMURF-checklist: przykładowe punkty do review testu.
- Hands-on: refaktoryzacja testów do AAA + SMURF. -
3. Zaawansowane fixtures w Playwright
- test.extend, worker-scoped vs test-scoped, serial fixtures.
-Typowanie fixtures i kompozycja (zależne fixtures).
-Fixtures do DB seeding, auth, mocków z teardown.
- Ćwiczenia: budowa dbSeed (worker), authToken (test) i mockPayment (test-scoped) —teardown. -
4. Testy API i Test Data Management
- APIRequestContext: request.newContext(), auth, headers.
- Testy API kontraktowe i regresyjne: asercje status/shape/body.
- Hybrydy: użycie API do setupu/teardown zamiast UI.
- Dobre praktyki testowania API: deterministyczne seedy i cleanupy, które można uruchomić wielokrotnie bez skutków ubocznych.
- Ćwiczenie: tworzenie pełnych zestawów testów API (create/read/update/delete) + integracja z UI (hybryda). -
5. Stabilność testów i eliminacja flakiness
- Stabilne selektory, getByRole/getByLabel, data-testid, auto-waiting, retry strategies.
- Soft vs hard assertions, timeouts, retry na testach krytycznych.
- Automatyczna detekcja flakiness (retry history + label).
- Ćwiczenie: napraw flaky test używając fixtures i retry. -
6. Skalowanie testów i CI
- Paralelizacja, sharding, podział testów (UI vs API), cache npm, artefakty.
- Metryki i raportowanie: flakiness per test, mean time to success.
- Ćwiczenie: wdrożenie środowiska CI - GitHub Actions matrix + sharding. - 7. Podsumowanie, checklisty wdrożeniowe i Q&A
