PROGRAM TESTY AUTOMATYCZNE
Z PLAYWRIGHT

playwright test automation course with team jaktestowac.pl

Od 2020 wykorzystujemy Playwright w komercyjnych projektach.
Skorzystaj z naszego doświadczenia i zacznij pisać profesjonalne testy GUI.

 

Czy chcesz…

Pytania dotyczące Programu REST API

👉 poznać jak nowocześnie testować strony internetowe?
👉 wdrożyć solidny framework do automatyzacji testów?
👉 nauczyć się projektowania automatów?
👉 nagrywać i modelować testy stron internetowych?
👉 poznać najlepsze narzędzia na rynku?
👉 poprawić perspektywę rozwoju i zarobków?

Jeśli TAK, to ten Program będzie świetnym wyborem dla Ciebie.

Dlaczego akurat Playwright?

NOWOCZESNY – Jest jednym z najnowszych frameworków – powstał w 2020 i w ciągu 2 lat stał się najczęstszym wyborem dle testów E2E i UI w nowych projektach (wg. stateofjs).

WSPARCIE MICROSOFT – Playwright został stworzony przez jedną z największych firm IT oraz jest przez nią aktywnie rozwijany.

VS CODE – najpopularniejszy edytor kodu VS Code stworzony przez Microsoft posiada dodatkowe narzędzia do pracy z Playwright np. runner do testów, narzędzia do debugowania oraz nagrywania testów.

WSPARCIE DLA RÓŻNYCH JĘZYKÓW – Playwright oferuje wsparcie dla C#, Javy, JavaScript/TypeScript oraz Pythona. Poznanie koncepcji automatyzacji w jednym języku znacznie ułatwia przejście do kolejnych.

TYPESCRIPT – Playwright wspiera wiele języków, ale podstawą jest TypeScript. Język ten jest rozwinięciem języka JavaScript, w którym dodano opcjonalne statyczne i silne typowanie. Dzięki temu język jest przejrzysty, debugowanie jest łatwiejsze, a my otrzymujemy lepszą strukturę kodu.

SELENIUM – Jeśli chodzi o ogólna ideę i sposób pisania testów, Playwright jest zbliżony do Selenium. Osoby które miały styczność z Selenium powinny szybko się odnaleźć w użyciu Playwright.

OGROMNE MOŻLIWOŚCI – Playwright posiada wiele wbudowanych funkcji, które są dostępne za darmo, bez potrzeby instalacji dodatkowych bibliotek.


Playwright

Zalety i możliwości Playwright

Dowolny język, platforma i przeglądarka

Cross-language – JavaScript, TypeScript, Java, C#, Python
Cross-platform – Windows, Linux i macOS
Cross-browser – Chromium, WebKit i Firefox

Languages in Playwright - JavaScript, TypeScript, Java, C#, Python

Minimalizacja niestabilnych testów (flaky tests)

Auto-wait – automatyczne czekanie na elementy
Artefakty – w postaci video, screenshotów i Execution Trace
Test Retry – automatyczne ponawianie testów zakończonych niepowodzeniem
Timeouts – konfigurowalne opóźnienia dla testów i asercji
Natywne wsparcie dla dowolnej konfiguracji przeglądarek (rodzaj, rozmiar, lokalizacja) od Chrome po Safari Mobile

Browsers in Playwright - Chromium, WebKit and Firefox

Potężne narzędzia wspomagające pracę

Trace Viewer – doskonałe narzędzie do analizy przebiegu testów
Codegen – generowanie kodu testów
Playwright inspector – pisanie i debugowanie skryptów
Playwright Test for VSCode – oprogramowanie pozwalające łatwo uruchamiać i debugować testy z poziomu IDE

Playwright

Narzędzia rozszerzające testy

Generowanie raportów w różnych formatach (HTML, JSON, XML)
Proste w użyciu zrównoleglanie testów
Visual testing – porównywanie zrzutów ekranu całych stron lub ich elementów
Testowanie i mockowanie API – wsparcie dla izolowanych testów GUI oraz niezależnych testów API
Wszystkie narzedzia dostępne są na dowolnym systemie operacyjnym

Systems for Playwright - Windows, Linux and macOS

Mentorzy programu

Krzysiek Kijas
Senior Software Quality Engineer, Tech Lead, Mentor
profil na LinkedIn

  • Z testowaniem i dbaniem o jakość oprogramowania jestem profesjonalnie związany od ponad 10 lat.
  • Nabywałem doświadczenie w wielu projektach IT z różnych domen biznesowych (transport, finanse, administracja, zarządzanie systemami).
  • Posiadam doświadczenie praktyczne w pracy z różnymi narzędziami CI/CD (Jenkins, GitLab CI, Azure DevOps).
  • W codziennej pracy zajmuje się różnego rodzaju testami, poczynając od manualnych, eksploracyjnych, aż po tworzenie i projektowanie architektury frameworków do testów automatycznych.
  • Od 2014 zdobywam doświadczenie jako trener poprzez prowadzenie warsztatów dotyczących jakości, pisania testów i narzędzi wspomagających testowanie.
  • Od wielu lat zaangażowany jestem w przygotowywanie warsztatów na Quality Excites - jednego z najpopularniejszych wydarzeń testerskich w Polsce.
  • Współtworzę inicjatywę jaktestowac.pl, gdzie od początku przygotowuje kursy i materiały dla Nowoczesnych Testerów.
Przemek Barański
Senior Software Quality Engineer, Principal Engineer
profil na LinkedIn

  • Komercyjnym testowaniem oprogramowania zajmuje się od ponad 10 lat!
  • Specjalizuje się w tematach performance i automation, które praktycznie wykorzystuje przy zapewnieniu jakości dla globalnych systemów informatycznych.
  • Trenuje testerów od 2015, nie tylko online, ale też bezpośrednio na warsztacie, meetupie, konferencji czy uczelni.
  • Twórca bezpłatnych treści wspomagających testerów w całej Polsce ze stawianiem swoich pierwszych kroków w różnych obszarach testowania (vlog, Git dla Testerów, Podstawy Automatyzacji).
  • Zafascynowany technicznym rozwojem oraz upraszczaniem poznanych konceptów do łatwych i przyjemnych treści 😀
  • Tester nie tylko aplikacji ale i praktyk związanych z życiem, rozwojem i szeroko rozumianą jakością.

Plan Programu

PROGRAM PROGRAM TESTY AUTOMATYCZNE Z PLAYWRIGHT

🚧Obecnie Program znajduje się fazie aktywnego rozwoju🏗️

Poniżej znajdziesz informacje o poszczególnych elementach Programu i stopniu ich dostępności na stronie.

Kursy z dostępnymi lekcjami

👨‍💻 ➔ 🐣

Praktyczne wprowadzenie do testów automatycznych

W tym materiale nauczysz się jak rozpocząć przygodę z automatami od całkowitych podstaw. Razem z nami przygotujesz projekt i pierwsze testy. Skupimy się na praktyce i zadaniach. Dzięki temu lepiej i szybciej utrwalisz zdobytą wiedzę oraz przystąpisz do działania z nowym narzędziem.
✍️ Sekcja 1. Ekspresowe wprowadzenie do Playwright
  • Twój pierwszy test Playwright
  • Zestaw testów i przypadki negatywne
  • Rozbudowa testów i lokatory
  • Teraz Ty: Kolejny test pulpitu
  • Rozwiązanie: Kolejny test pulpitu
  • Podsumowanie wprowadzenia do Playwright

✍️ Sekcja 2. Rozbudowa frameworka do testów automatycznych
  • Wzorzec AAA: Arrange Act Assert
  • Analiza testów z Trace Viewer
  • Teraz TY: Implementacja AAA
  • Rozwiązanie: Implementacja AAA
  • (W przygotowaniu) Praktyka DRY i hook before
  • (W przygotowaniu) Debug skryptów, czyli analiza wykonania kodu
  • (W przygotowaniu) Wtyczki w VS Code

✍️ Sekcja 3. Wzorce i Page Object Model
  • Sekcja w opracowaniu

✍️ Bonusy
  • Instalacja projektu z pliku w Node.js
  • Aktualizacja paczki playwright i przeglądarek
  • Kod strony HTML
  • Selektory i szukanie elementów HTML w przeglądarce
  • Wersjonowanie projektu z Git
  • Formatowanie kodu z Prettier

Kursy w realizacji

👨‍💻 ➔ 🐔

Budowa profesjonalnego frameworka testowego w oparciu o Playwright

Kursy planowane

👨‍💻 ➔ 🦅

Ciągła Integracja z Playwrigth

👨‍💻 ➔ 🐉

Techniki zaawansowane

W przygotowywanych lekcjach planujemy pokryć zagadnienia:

  • Projektowanie testów automatycznych
  • Konfiguracja testów i całego projektu
  • Raporty, prezentacja wyników
  • Profesjonalny Page Object Model (oraz Page Object Pattern)
  • Wydajność testów i ich zrównoleglanie
  • Sposoby wykorzystania Data Driven Testing
  • Mockowanie REST API
  • Domain Transfer Object i zastosowanie w praktyce
  • Dobre praktyki i wzorce programistyczne (KISS, DRY, YAGNI)
  • Podstawy pracy z TypeScript
  • Testy w procesie Ciągłej Integracji
  • Zarządzanie artefaktami w procesie Ciągłej Integracji
  • Optymalizacja procesu testowania w ujęciu Ciągłej Integracji
  • Wydajne korzystanie z narzędzi Visual Studio Code, Chrome Dev Tools
  • Wersjonowanie kodu testów z Git
Pytania dotyczące Programu Playwright

Najczęściej zadawane pytania

Kiedy planowana jest pierwsza edycja Programu?
Obecnie celujemy w pierwszą połowę roku 2023. Jednak niezależne zdarzenia mogą pokrzyżować nam plany a Program składa się z wielu elementów dlatego też nie możemy obecnie określić dokładnej daty premiery.

  • Zachęcamy do subskrybowania naszych kanałów na FB, INSTAGRAMIE czy YT,
  • oraz zapisy do newslettera, dzięki temu szybko dowiesz się, na jakim etapie jesteśmy.

Dlaczego nie inne narzędzia jak Selenium, Cypress, Webdirver IO albo Puppeteer?
  • Playwright jest rewolucyjny, bo łączy prostotę testów z Selenium, możliwości nowoczesnych testów w Cypress i otwartość oprogramowania z Webdriver IO / Puppeteer.
  • Zaufaj nam – korzystaliśmy ze bardzo wielu technologii do testów GUI. Obecnie Playwright to najbardziej stabilna, darmowa i łatwa w analizie technologia do pisania testów GUI.
  • Cypress to w szerszej perspektywie płatne narzędzie o indywidualnej składni przeznaczone bardziej dla deweloperów.
  • Selenium to wciąż bardzo dobre narzędzie, ale pamiętaj, że musisz samodzielnie i od podstaw zbudować solidny framework, aby twoje testy były maksymalnie niezawodne. Jest to związane z tym, jak Selenium łączy się z przeglądarką. Playwright do komunikacji z przeglądarkami używa nowoczesnego mechanizmu CDP. Poza tym Playwright to wiele gotowych, wbudowanych i konfigurowalnych elementów, które od razu możesz używać, a w Selenium trzeba wszystko samodzielnie zaimplementować (np. automatyczne czekanie, raporty, dynamiczna konfiguracja etc.).
  • Webdriver IO czy też Test Cafe, Nightwatch, Puppeteer to również wspaniałe frameworki o stabilnej pozycji na rynku. Brak w nich dobrego narzędzia do analizy i debugowania testów. Gdy masz problem to jego rozwiązanie może okazać się niezwykle trudne.

Jakie umiejętności muszę posiadać nim przystąpię do Programu?
Program ten kierujemy głównie do Testerów, którzy:

  • zajmują się testami manualnymi i chcieliby wkroczyć w świat programowania i automatyzacji,
  • zajmują się automatyzacją i pragną poznać nowe narzędzie wraz z dobrymi praktykami,
  • uczą się testowania i rozwijają swoje kompetencje w tym zakresie.

Dlaczego warto uczyć się z jaktestowac.pl, zamiast skorzystać z dokumentacji narzędzia?

W odróżnieniu od suchej dokumentacji prowadzimy Ciebie przez dokładnie opracowany plan nauki automatyzacji testów a nie tylko poznania frameworka Playwright. Łączymy wiedzę o narzędziu z wieloma dobrymi praktykami. Dzielimy się doświadczeniem, które prezentujemy, budując razem z Tobą profesjonalne rozwiązanie do zapewnienia jakości.

Oczywiście! Można samemu zdobywać wiedzę z dokumentacji i różnych tutoriali.
Niestety minusem takiego podejścia jest wysokie prawdopodobieństwo, że zajmie to znacznie więcej twojego cennego czasu. Powodem tego jest fakt, że wiedza często rozsiana jest po różnych zakątkach internetu. Trzeba uważać, aby nie wpaść w inwestowanie pokładów energii i czasu w zdobywanie wiedzy, która nie jest istotna w aspekcie poznawanego przez Ciebie tematu.

Bardzo ważne! Przy samodzielnej nauce nie będziesz posiadał trenera, który pomoże Ci ze wszelkimi problemami, jakimi napotkasz i odpowie na pytania oraz rozwieje wątpliwości. A tutaj masz nas – ekspertów z jaktestowac.pl.

Dlaczego nie Cypress — największy konkurent Playwright, który jest w JavaScript i TypeScript?
Playwright i Cypress to dwa narzędzia do automatyzacji testów stron internetowych jednak mocno zróżnicowane, jeśli chodzi o filozofie tworzenia testów automatycznych.

Na pierwszy rzut oka, oba frameworki oferują podobne funkcje, takie jak możliwość przeprowadzania testów end-to-end, debugowania i integracji z innymi narzędziami do automatyzacji.

Jednak w perspektywie budowania profesjonalnych testów w projekcie informatycznym Cypress jest bardziej zorientowany na doświadczonych z programowaniem testerów lub developerów, posiada wiele własnych konceptów, które odbiegają od powszechnie przyjętych standardów, pewne jego funkcje są płatne oraz zamknięte w ekosystemie narzędzi i pluginów Cypressa.

Z kolei Playwright jest w pełni darmowy, zbudowany o sprawdzone standardy z bardziej przyjazną dla początkujących testerów infrastrukturą.

Obecnie pełnimy role konsultantów i architektów w różnych projektach. Wykonaliśmy wiele analiz dotyczących stosowania testów opartych Playwright w różnych dziedzinach i branżach. W znacznej większości Playwright przewyższał funkcjami i możliwościami Cypressa.
Dodatkowo często konsultujemy migracje z Cypress do Playwright, praktycznie nie spotykając się z odwrotnymi przypadkami.

Dodatkowo:

  • Playwright jest znacznie szybszy od Cypressa oraz oferuje automatyczne zrównoleglenie testów (płatna funkcja w Cypress).
  • W Playwright piszemy testy bardzo podobnie jak w Selenium (składnia, model POM) i rozwijamy je o standardy języka Type Script. W Cypress promuje się model App Action oraz ich własną składnię i rozwiązania, które są wiedzą używaną wyłącznie w tym frameworku. Testując z Playwright, rozwijasz kompetencje, których użyjesz w innych miejscach.
  • Playwright oferuje więcej opcji debugowania, takich jak możliwość podglądu Trace z akcjami wykonywanymi w przeglądarce, co może ułatwić Ci znajdowanie i rozwiązywanie błędów.
  • Playwright umożliwia testowanie wielu przeglądarek jednocześnie, jeśli chcesz przeprowadzić testy na wielu różnych środowiskach (w Cypress rozwiązanie płatne i niedostępne lokalnie).
  • Playwright natywnie obsługuje więcej przeglądarek Chrome, Edge, Firefox i Safari. W Cypress system przeglądarek od Apple jest uzależniony właśnie od zgodności z przeglądarkami web-kit Playwright.
  • Na korzyść Cypress przemawia obecnie jego popularność, jakość dokumentacji oraz ciekawy sposób pisania testów.

Czy Playwright jest wystarczająco stabilnym frameworkiem?
Playwright jest stosunkowo nowym narzędziem do automatyzacji testów stron internetowych, ale już zdobył dużą popularność i uznanie wśród programistów i testerów automatyzujących. Jego twórcy stale pracują nad jego ulepszeniem i usuwaniem błędów – co kilka tygodni systematycznie wychodzi nowa wersja dodająca nowe usprawnienia. W rezultacie Playwright jest obecnie uważany za stabilny framework, który jest w stanie wspierać różnorodne projekty.
Czy Playwright to przyszłościowy wybór?
Playwright jest obecnie uważany za jedno z najlepszych narzędzi do automatyzacji testów GUI i jego popularność stale rośnie. Jest wykorzystywany w coraz większej liczbie projektów, z których wypiera inne narzędzia, takie jak Selenium czy Cypress. Planujemy opublikować zbiór najnowszych analiz, ale już teraz wystarczy poszukać w sieci zestawienia Playwright z Cypress czy Selenium.
Dlaczego JavaScript i TypeScript?
JavaScript jest jednym z najpopularniejszych języków programowania. Jest on nezwykle wszechstronny – jest powszechnie używany przez developerów do tworzenia stron internetowych – zarówno frontendu jak i backendu. Dlatego wybierając ten język możesz liczyć w projekcie na wsparcie od developerów.

Język ten jest również wspierany przez dobrze rozwiniętą społeczność i mnogość modułów, które dodatkowo rozszerzają jego funkcje. Innym bardzo ważnym zyskiem z nauki JavaScript jest poznanie jak działa ten język w kontekście frontendu i pisanych aplikacji. Taka wiedza pozwoli Ci na lepsze zrozumienie testowanej aplikacji, a tym samym łatwiejsze wyłapywanie błędów.

Dodatkowo wprowadzenie TypeScript dodaje do JavaScript większość dobrych wzorców znanych z języków takich jak Java czy Python. Również korzystając z tych języków w Projekcie możemy liczyć na wsparcie developerów.

Czy muszę umieć pisać w JavaScript lub TypeScript?
W niedługim czasie dostarczymy Ci kompleksowe lekcje, które pokryją podstawowe tematy z tych języków. Dzięki tym materiałom będziesz w stanie swobodnie poruszać się w zakresie testów automatycznych opartych o JavaScript/TypeScript i Playwright.
Czy muszę znać podstawy programowania (w dowolnym języku)?
Podstawa programowania w dowolnym języku jest mile widziana – dzięki temu znacznie szybciej nauczysz się języka TypeScript.
Możesz śmiało realizować lekcje i równolegle uzupełniać podstawy znajomości języka JavaScript a w kontynuacji TypeScript.

Jeśli nie znasz żadnego języka programowania — w niedługim czasie przygotujemy kompleksowe materiały o języku TypeScript, które pozwolą Ci poznać ten język na tyle, abyś był w stanie swobodnie poruszać się w zakresie testów automatycznych 🙂

Czy muszę umieć testować (mieć doświadczenie w testowaniu manualnym)?
Przy podejściu do tego kursu wiedza o testowaniu okaże się bardzo pomocna. Jeśli jeszcze nie posiadasz doświadczenia w testowaniu manualnym, możesz równolegle realizować nasz Program i uzupełniać wiedzę o testowaniu manualnym.

Pamiętaj jednak o tym, że ten materiał głównie kierujemy do testerów manualnych i automatyzujących, którzy chcą poznać nowe narzędzie, podejście do projektowania własnego frameworka oraz dobre praktyki.

Na jakich systemach operacyjnych zrealizuję lekcje o Playwright?
Materiał realizujemy na systemie Windows 11. Z racji używania narzędzi (VSC, Playwright, TypeScript) występujących na najpopularniejszych systemach możesz zrealizować ten materiał bez przeszkód na systemach Linux albo macOS.
Czy mogę użyć innego IDE niż Visual Studio Code?
Możesz, jeśli potrafisz sprawnie poruszać się po swoim IDE. Rekomendujemy jednak korzystanie z Visual Studio Code.

Visual Studio Code zawiera wiele pluginów oraz ułatwień, które sprawiają, że pisanie testów przy użyciu narzędzia Playwright jest znacznie szybsze i łatwiejsza niż np. w IntelliJ.

Zarówno Visual Studio Code oraz Playwright są rozwijane przez Microsoft, dlatego nowe funkcje są szybko wdrażane w tym IDE.

warsztaty testerskie na Quality Excites
[warsztat od jaktestowac.pl na konferencji Quality Excites]

Co myślą o nas nasi Kursanci

Nie publikujemy treści bez dobrych testów 💪 Znajomi testerzy mieli przyjemność zapoznać się z naszymi materiałami we wczesnym dostępie. Uwzględniliśmy ich cenne sugestie i uwagi podczas wprowadzania udoskonaleń. Po ukończeniu naszych materiałów inżynierowie testów podzielili się swoimi opiniami, które możesz przeczytać poniżej:

Paweł Wantulok
Software tester
 
Nie ma co ukrywać, że nową robotę dostałem dzięki Waszym kursom 😀
 
Natalia Nitkowska
Quality Assurance, Future Processing
 
Podoba mi się energia z jaką się przelatuje przez zadania, treść/sposób prezentacji, która zachęca by od razu klikać w następną lekcję, buduje ciekawość tego co będzie dalej. Materiał Programu powiedziałabym, że jest bardzo prosty w odbiorze - wszystko jest szczegółowo wyjaśnione na praktycznych przykładach.

Reasumując - bardzo mile spędziłam czas przechodząc przez ten materiał. Dziękuję : )

[o kursie Podstawy Ciągłej Integracji w Chmurze]
Dawid Pęda
Test Engineer, Orange
 
Chciałem Wam pogratulować i serdecznie podziękować, ponieważ wykonujecie świetną robotę i wspieracie mnóstwo ludzi, jak ja, którzy nie wiedzą od czego zacząć i jak.
Wiele się od Was nauczyłem, co pozwoliło mi zacząć uczestniczyć w projektach o jakich wcześniej mogłem tylko pomarzyć.

[o kursie Podstawy Ciągłej Integracji w Chmurze]
[o kursie Podstawy Testów Automatycznych w Selenium i Python]

Nad jakością czuwają:

Przemek i Krzychu