Video wersja tej lekcji

AKTUALIZACJA lekcji wideo:
W związku z odświeżeniem tekstu całej serii kursów – lekcje wideo mogą okazać się odrobinę nieaktualne. Pracujemy nad tym – mimo to pozostawiamy wersję wideo gdyż pokazane tam kroki są generalnie poprawne.

Przeznaczenie kodu automatyzacji

Pisząc test automatyczny musimy zdecydować co dokładnie nasz test sprawdza. Czasem trzeba wiele kodu aby uzyskać pożądany stan aplikacji. W końcu jednak przychodzi ten moment aby zbadać czy kolejny krok zakończy się sukcesem czy porażką. Sprawdzenie oczekiwanego rezultatu względem otrzymanego nazywamy:

ASERCJA

Asercja – czyli klucz do stworzenia pełnego testu i jednocześnie jakby produkt, który dostarczamy z tym testem. Dzięki niej możemy zdefiniować jaki element testowanej strony sprawdzamy i czy jest zgodny z oczekiwaniami. Przejdźmy do praktyki:

Dodamy asercję w której porównamy dwie zmienne i w zależnie od rezultatu nasz skrypt zakończy się sukcesem bądź niepowodzeniem:

assert 'Demobank - Bankowość Internetowa - Logowanie' == title

W naszym przypadku sprawdzamy czy tekst który oczekujemy zgadza się z otrzymanym czyli tym co przechowujemy w zmiennej title (wartość tej zmiennej otrzymaliśmy z testowanej strony). Tekst, którego oczekujemy w realnym przypadku zazwyczaj pochodzi z dokumentacji technicznej dla danej strony.

Dzięki linii z assert stwierdzimy czy test przeszedł czy nie.

TIP: Zastosowaliśmy tutaj podwójny znak równość == ponieważ pojedynczy znak = służy do przypisywania wartości do zmiennej, w tym przypadku potrzebujemy porównania wartości.

Czyli x=5 oznacza, że do zmiennej x zostanie przypisana wartość 5, natomiast x==5 sprawdza czy x zawiera 5 i zwraca wynik pozytywny bądź negatywny czyli w Pythonie: True albo False.

TIP: Warto zauważyć, że asercja jest typem instrukcji. Instrukcje w Pythonie to takie klocki do budowy standardowych konstrukcji, które używane są także w innych językach programowania. Np: na początku kodu użyliśmy instrukcji import i obok niej dopisaliśmy wartość. Importowanie jest to standardowa czynność przy pisaniu kodu w praktycznie każdym języku i właśnie takie elementy są w Pythonie zorganizowane za pomocą instrukcji. Jako instrukcji użyliśmy też assert – wszystko po tym słowie było wartością wykonaną przez tę instrukcję. Mocą instrukcji jest to, że możemy je łączyć i wkrótce zostanie to praktycznie wykorzystane. Dodatkowo znając instrukcje w Pythonie z łatwością możemy nauczyć się ich w innym języku programowania.

Uruchamiam ponownie test. Nasza instrukcja się wykonuje i… nic się nie zmienia – ponieważ test pozytywnie się skończył. Cisza sprzyja testom 🙂 Jeśli otrzymałeś inny wynik nie przejmuj się w następnej lekcji omówimy taki przypadek.

Podsumowanie

Użyłeś assercji i dowiedziałeś się o instrukcjach. Wszystko powinno się udać – ale z pewnością nie zawsze tak będzie – w następnej lekcji przekonamy się jak zareagować gdy nasz test zakończy się niepowodzeniem.

Obecnie nasz kod powinien wyglądać tak:

from selenium import webdriver

driver = webdriver.Chrome(executable_path = r'C:\TestFiles\chromedriver.exe')
driver.get('https://demobank.jaktestowac.pl/logowanie_etap_1.html')
title = driver.title
print(title)
assert 'Demobank - Bankowość Internetowa - Logowanie' == title

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *