Selenium 62. Zrzuty ekranu: przykład użycia screenshotów

Interesuje Cię ten kurs?

Zapisz się na listę, a wyślę Ci szczegóły i informację jak dołączyć 👇 

W tej lekcji pokażę Ci przykład użycia screenshotów w Selenium. Pokażę Ci kiedy i jak warto wykonywać zrzuty ekranu oraz jak to obsłużyć, żeby łatwo znaleźć właściwy screenshot.

Chcesz zobaczyć jak to będzie wyglądać w TestNg? Zobacz ten film.

JUnit mimo sporej ilości naprawdę fajnych rozwiązań nie dostarczył jednej, która z mojego punktu widzenia wydaje się naprawdę przydatna. A mianowicie nie możemy z poziomu klasy testowej w łatwy sposób dowiedzieć się czy test przeszedł czy nie. A taka informacja będzie przydatna na przykład w metodzie z adnotacją @AfterEach, w której to możemy właśnie wykonać screenshota jeżeli test nie przejdzie.

Wykonywanie screenshota właśnie na koniec testu nie jest jedyną metodą – można wykonać zrzut ekranu także w przypadku, gdy Selenium ma problem np. ze zlokalizowaniem elementu albo kliknięciu go. Jednak to podejście będzie już bardziej pasowało do lekcji o frameworku testowym, bo zakłada opakowanie istniejących już metod wyszukujących elementy lub wchodzących z nimi w interacje, w nasze metody. W zasadzie jest to już budowa jakiegoś frameworka, dlatego w tej lekcji zobaczysz pierwsze podejście.

Jak już wspomniałam, JUnit nie podaje nam informacji o statusie testu w prosty sposób ale możemy wykorzystać jego API, żeby napisać własne rozszerzenie, co nie jest wcale takie trudne, jak się może wydawać. Wystarczy użyć odpowiedniego callbacka i zaimplementować jedną, prostą metodę. Pokażę Ci także jak powiedzieć testowi, że ma użyć rozszerzenia, które napisaliśmy.

Zobaczysz także jak poradzić sobie z nazwami plików, żeby pliki się nie nadpisywały przez to, że mają tą samą nazwę. Na koniec pokażę Ci również jak logować w teście ścieżkę do pliku, żeby nie trzeba było szukać pliku po dacie i godzinie, co może być szczególnie kłopotliwe w przypadku, gdy przechowujemy screenshoty z wielu testów na wiele wykonać wstecz.

Do zrozumienia tej lekcji na pewno potrzebujesz wiedzy z poprzedniej lekcji: Zrzuty ekranu: wykonywanie screenshotów strony i elementów.

Kod do użycia, który pokazuję w lekcji

Klasa rozszerzająca testy

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.


Metoda takeScreenshot

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.


Zarejestrowanie rozszerzenia do testu

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.


Metoda z adnotacją @AfterEach

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Pełny kod klasy testowej

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Możliwość komentowania została wyłączona.