Teraz Ty – agregujemy akcje

TIP: Ta lekcja jest częścią rozwijanego Programu Testy Automatyczne z Playwright 🎭

Prezentacja

Teraz Ty - agregujemy akcje w Playwright i Page Object Model

Dodatkowe materiały

Bazujemy na kodzie lekcji L09_pom_aggregate_refactor

Treść zadania

Zrefaktoryzuj testy automatyczne z pliku pulpit.spec.ts, aby wykorzystywały wzorzec POM z agregacją akcji. Innymi słowy – przygotuj metody, które będą odzwierciedlać akcje użytkownika.

A dokładniej:

  1. Przeanalizuj testy pulpitu, które znajdują się w pulpit.spec.ts.
  2. Na podstawie analizy w pulpit.page.ts przygotuj metody, które będą odwzorowywać kompleksowe akcje użytkownika na stronie.
  3. Wykorzystaj zaimplementowane metody w testach w pulpit.spec.ts.
  4. Sprawdź swoje zmiany uruchamiając wszystkie testy.

Podczas rozwiązywania tego zadania wzoruj się na naszej poprzednich lekcji.

Wykorzystaj tutaj całą zdobytą we wcześniejszych lekcjach wiedzę 🙂

Poniżej znajdziesz podpowiedzi do tego zadania, ale zachęcam Cię do samodzielnej implementacji i tylko posiłkowania się podpowiedziami 😉

Podpowiedzi

Na samym początku...
  1. refaktoryzacji podlegają testy z pliku pulpit.spec.ts z katalogu tests – przed zmianami uruchom je i zobacz, czy kończą się powodzeniem,
  2. po każdym zmienionym teście, uruchom go i sprawdź, czy Twoje zmiany były poprawne.
Nazewnictwo
  1. jako nazwę metody do szybkiego przelewu sugerujemy executeQuickPayment
  2. jako nazwę metody do doładowania telefonu sugerujemy executeMobileTopUp
Nazewnictwo

Zauważ, że testy successful mobile top-up oraz correct balance after successful mobile top-up mają takie same kroki – w obu z nich wykonujemy doładowanie telefonu.

Oznacza to, że w klasie PulpitPage będziemy mogli przygotować jedną metodę do doładowania, a następnie wykorzystać ją w obu tych testach.

Nie zapomnij o...
  1. stworzone przez Ciebie metody powinny posiadać słowo kluczowe async – musimy tak oznaczyć metody, gdyż posiadają one w sobie wywołania akcji z await
  2. wywołanie metod, które posiadają async, musi być wykonane z await – w przeciwnym wypadku metody będa uruchamiane asynchronicznie, a testy mogą kończyć się losowymi błędami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *