Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

Selenium w C# 19. Zasada programowania DRY (Don’t Repeat Yourself)

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.

Ukryta treść

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

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).

Ukryta treść

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

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.

Ukryta treść

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

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.

Ukryta treść

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

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.

Ukryta treść

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

Kod z lekcji

Ukryta treść

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

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.