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# 17. Klikanie w elementy i wprowadzanie tekstu

W tej lekcji zaczniemy wchodzić już w interakcje z elementami na stronie. Omówimy sobie klikanie w elementy oraz wprowadzanie tekstu do pól.

 

Klikanie w elementy i wprowadzanie tekstu: linki i materiały

Interakcje z elementami w Selenium zwykłam nazywać sercem Selenium (ale wspólnie z lokatorami, które pozwalają nam na dostęp do tych elementów). To właśnie po to sięgamy po Selenium: by móc symulować zachowania użytkownika i tym samym wchodzić w jakieś interakcje z elementami, które w większości sprowadzają się do klikania i wprowadzania tekstu.

Wprowadzanie tekstu: SendKeys()

W naszym przykładowym teście będziemy chcieli coś wyszukać za pomocą „szukajki” na stronie. „Szukajka” jest po prostu inputem i jak sama nazwa wskazuje, oznacza, że można tam coś wprowadzić. W przypadku „szukajki”, będzie to na przykład nazwa produktu do wyszukania. Nazwę poszukiwanego produktu możemy przekazać do szukajki (po tym jak już ją sobie namierzymy na stronie lokatorem) korzystając z metody SendKeys(). W parametrze tej metody przekazujemy to, czego szukamy w postaci stringa.

Ukryta treść

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

W parametrze metody SendKeys możemy też przekazać coś innego, np. klawisz Shift. Możemy to zrobić przy pomocy klasy Keys.

Ukryta treść

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

Potwierdzanie wysłania formularza: Submit()

Formularz jest elementem o tagu form. Bardzo często przyjmuje on formę jakichś pól tekstowych do wypełnienia i przycisku potwierdzającego. Przykładem może być formularz rejestracyjny. W naszym przypadku „szukajka” jest elementem formularza, albo nawet całym formularzem, w zależności jak rozumiemy co jest częścią „szukajki”. W każdym razie input, do którego wpisujemy nazwę szukanego produktu, jest częścią formularza. Nie mamy tutaj jednak przycisku potwierdzającego, a w każdym razie nie jest on widoczny, bo w kodzie formularza znajdziemy jednak przycisk (<button type=”submit”>).

No to jak zasymulować wyszukanie, które jako użytkownik zrobilibyśmy pewnie klawiszem „Enter”? Dla formularzy mamy do tego metodę Submit(). Metoda ta potwierdzi wysłanie formularza i zadziała także, gdy przycisk do potwierdzenia formularza będzie widoczny (chociaż wtedy moglibyśmy też użyć metody Click() na tym przycisku). Co ważne, metoda Submit() zadziała na formularzu ale też na poszczególnych jego elementach, a efekt będzie ten sam. Czyli wywołanie metody Submit() na elemencie o tagu form będzie równoznaczne z wykonaniem tej metody na elemencie będącym częścią tego formularza, np. na inpucie.

Ukryta treść

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

Ponieważ w naszych testach mamy już namierzony input, czyli pole do wpisania nazwy szukanego produktu, skorzystamy sobie właśnie z tego elementu i wywołamy na nim metodę Submit().

Ukryta treść

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

Czyszczenie pola: Clear()

Ta metoda robi bardzo prostą rzecz: czyści pole, np. tekstowe. Czyli na przykładzie naszej „szukajki” po wprowadzeniu jakiegoś tekstu możemy chcieć później wyczyścić zawartość tego pola. Pewnie moglibyśmy to zrobić poprzez SendKeys() a w parametrze podać pusty string, ale mamy na to metodę Clear().

Ukryta treść

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

Kliknięcie w element: Click()

Na koniec tylko w ramach przypomnienia, metoda z której korzystamy praktycznie od początku, czyli metoda Click(). Metoda ta umożliwia zasymulowanie kliknięcia lewym przyciskiem myszy na elemencie.

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.