W tej lekcji oderwiemy się na moment od Selenium, żeby zobaczyć coś, co jest związane bardziej z programowaniem, ale w testach, które z reguły są dosyć powtarzalne, ten temat jest szalenie istotny. Zasada programowania DRY (Don’t Repeat Yourself) jest zasadą rekomendującą unikanie powtórzeń w kodzie i pokażę Wam najprostsze sposoby jak to możemy zrobić na przykładzie testów logowania z ostatniego zadania.
Zasada programowania DRY: linki i materiały
Dane testowe
Pierwszym, czego powtarzania można by uniknąć, są dane testowe. W naszym przypadku dane testowe to przede wszystkim hasła i nazwy użytkowników. Można je oczywiście wyrzucić gdzieś do pliku i stamtąd pobierać, ale tutaj zrobimy to sobie wersję prostszą, czyli wypchniemy te wszystkie zmienne do ciała klasy.
Elementy
Kolejną rzeczą powtarzającą się praktycznie w każdym teście jest pobranie pola do nazwy użytkownika i hasła oraz przycisku do logowania, by móc wykonać na tych elementach jakieś akcje. Na filmie pokazuję dwa możliwe podejścia. Pierwsze z nich to wypchnięcie samych lokatorów do ciała klasy, by ich nie wypisywać od nowa za każdym razem, gdy chcemy ich użyć w metodzie FindElement (lub FindElements).
Możemy też od razu pobrać cały element, więcej o tym jak to działa opowiadam w filmie. W naszych testach zdecydowałam się skorzystać z tej właśnie opcji.
Tutaj też warto dodać kolejną rzecz. W naszym teście pobieramy ze strony także treść komunikatu błędu. Możemy ją sobie również przenieść do ciała klasy ale już nawet nie w postaci elementu ale wyniesiemy tam cały tekst, więc będzie to string.
Podobne akcje: logowanie
To, co jeszcze możemy, a nawet wypadałoby zrobić, to jakoś wykluczyć powtórzenia akcji logowania, która występuje w każdym teście. Mam tutaj na myśli wprowadzenie nazwy użytkownika (lub jego emaila), hasła i kliknięcie przycisku logowania. Możemy stworzyć sobie pro prostu metodę Login(), która w parametrach będzie przyjmowała nazwę użytkownika (lub email) oraz hasło.
Komentarze
Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc komentować.