Analiza testów z Trace Viewer

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

Prezentacja

Analiza testów z Trace Viewer

Dodatkowe materiały

TIP: W tej lekcji wspominamy o API – jeśli interesuje Ciebie poznanie tego tematu zajrzyj na Podstawy Testowania REST API – Od teorii, przez testy manualne, po automatyzację w JavaScript!
TIP: Od tej lekcji używamy Prettier do formatowania kodu.

Sugerujemy 2 opcje:

  1. Kontynuuj jeśli: wiesz czym jest Prettier i jak go używać.
  2. Uzupełnij wiedzę ze specjalnego bonusu: Formatowanie kodu z Prettier

Kod do tej lekcji znajduje się tu: GitHub

Pamiętaj, aby po każdej większej modyfikacji uruchamiać testy 😉

Przygotowanie testu który będzie kończył się niepowodzeniem

W pierwszym teście z pliku pulpit.spec.ts uszkadzamy oczekiwaną wartość dodając frazę BUG:

const expectedTransferReceiver = 'BUG Chuck Demobankowy';

Dodajemy również opcję only do testu aby uruchamiał się tylko on.

Po uruchomieniu test powinien zakończyć się niepowodzeniem.

Dodanie wideo do raportów

W pliku playwright.config.ts dodajemy taki wpis w bloku use: video: 'retain-on-failure'.

Tak będzie wyglądał teraz ten blok:

  use: {
	/* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
	actionTimeout: 0,
	/* Base URL to use in actions like `await page.goto('/')`. */
	// baseURL: 'http://localhost:3000',

	/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
	trace: 'on-first-retry’,
	video: 'retain-on-failure',
  },

Po uruchomieniu testów powinieneś otrzymać wideo z zapisem testu!

Włączenie opcji Trace Viewer

W pliku playwright.config.ts zmieniamy w bloku use: ustawienie dla opcji trace: 'retain-on-failure'. Dzięki temu Trace Viewer będzie dostępny w raportach dla naszych testów.

Tak będzie wyglądał teraz ten blok:

  use: {
	/* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
	actionTimeout: 0,
	/* Base URL to use in actions like `await page.goto('/')`. */
	// baseURL: 'http://localhost:3000',

	/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
	trace: 'retain-on-failure’,
	video: 'retain-on-failure',
  },

Po uruchomieniu testów powinieneś otrzymać możliwość podglądu testu w narzędziu Trace Viewer.

Playwright Trace Viewer i opis jego opcji

W widoku Trace Viewer zwróć uwagę na:

  1. Timeline, czyli pasek postępu akcji u góry.
  2. Poszczególne Akcje i szczegółowe kroki ich wykonania.
  3. Stan strony podczas testu, przed i po teście.
  4. Logi związane z wykonaniem akcji (w szczegółach danej akcji).

Trace Viewer – jak go uruchomić?

Aby uruchomić Trace Viewer i podejrzeć plik trace.zip, wystarczy użyć w konsoli polecenia:

npx playwright show-trace trace.zip

gdzie trace.zip to ścieżka do pliku .zip.

Trace Viewer ograniczenia

Napraw wartości, które uszkodziliśmy na potrzeby poprzednich testów.

Uszkadzamy lokator, np. dla selektora password-input-lol:

 await page.getByTestId('password-input-lol').fill(userPassword);

W Trace Viewer możesz zauważyć, że brakuje informacji o czasie trwania testu i momentu Timeoutu.

Bugi które zidentyfikowaliśmy i zgłosiliśmy twórcom Playwright:

4 komentarze

  1. też macie brak kolorów w timeline? wszystkie fragmenty są na szaro i szukałam buga w zgłoszeniach jednak nie natrafiłam
    Playwright 1.36., sprawdzone na: opera, chrome w wersji ciemnej i jasne 🙂

    Avatar Karolina Zakrzewska
  2. Oglądając kolejne super wideo zdziwiłem się trochę bo mam wersję 1.30 ale u mnie z jakiegoś powodu nie ma tego przycisku “Open snapshot in new tab” a bardzo by się przydał 🙂 znacie może powód? Może to jakaś nowość?

    Avatar Paweł

Dodaj komentarz

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