• Przejdź do głównej nawigacji
  • Przejdź do treści
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
Testelka.pl

Testelka.pl

Testelka.pl - o technologiach w testowaniu oprogramowania

  • Kursy
    • DARMOWY: Java dla testerów
    • Selenium w Javie
    • Selenium w C#
    • Testy API w REST Assured
    • Selektory CSS
    • XPath
  • Materiały na raz
  • Blog
  • O Eli
  • Zaloguj się
  • DOŁĄCZ

Selenium w C# 17. Klikanie w elementy i wprowadzanie tekstu

Strona główna > Kursy > Kurs Selenium w C# > 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 aktywnej subskrypcji. Wykup subskrypcję 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 aktywnej subskrypcji. Wykup subskrypcję 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 aktywnej subskrypcji. Wykup subskrypcję 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 aktywnej subskrypcji. Wykup subskrypcję 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 aktywnej subskrypcji. Wykup subskrypcję 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 aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

Reader Interactions

Komentarze

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc komentować.

Pierwszy Sidebar

LEKCJE W KURSIE

  • Przygotowanie środowiska (DARMOWA LEKCJA)
  • Konfiguracja: Selenium i ChromeDriver (DARMOWA LEKCJA)
  • Demo Selenium i testowanie asercji (DARMOWA LEKCJA)
  • Nawigacja pomiędzy stronami (DARMOWA LEKCJA)
  • Zamykanie sesji i okna przeglądarki (DARMOWA LEKCJA)
  • Zadanie: zamykanie sesji i okna przeglądarki
  • Źródło strony, url i tytuł
  • Zadanie: źródło i tytuł strony
  • Ustawienia okna przeglądarki
  • Zadanie: ustawienia okna przeglądarki
  • Metody lokalizujące
  • Znaczniki i konsola deweloperska
  • Mechanizmy lokalizujące: nazwa klasy, id, atrybut name, nazwa taga
  • Mechanizmy lokalizujące: szukanie po linku
  • Zadanie: proste lokatory
  • Timeouty
  • Klikanie w elementy i wprowadzanie tekstu
  • Zadanie: testy logowania
  • Zasada DRY (Don't Repeat Yourself)
  • Wgrywanie pliku z dysku
  • Explicit Wait, czyli jawne czekanie
  • ExpectedConditions
  • Pobieranie informacji o elementach: położenie, rozmiar, nazwa taga, czy wyświetlony, czy zaznaczony, czy aktywny
  • Pobieranie informacji o elementach: wartości CSS, atrybuty i właściwości JavaScript oraz szukanie elementów w elemencie
  • Zadanie: informacje o elementach
  • Klikanie oraz przesuwanie kursora myszki
  • Prawy przycisk myszy oraz podwójny klik
  • Akcje na klawiaturze: przytrzymanie klawisza i wprowadzenie tekstu
  • Zadanie: akcje na klawiaturze i gesty myszy
  • Przesuwanie elementów
  • Zadanie: przesuwanie elementów
  • Ramki
  • Zadanie: ramki
  • Wykonywanie skryptów JavaScript
  • Zadanie: JavaScript
  • Ciasteczka: pobieranie ciasteczek
  • Usuwanie i dodawanie ciasteczek w Selenium
  • Co, gdy nie mamy pełnej nazwy ciasteczka?
  • Zadanie: Ciasteczka
  • Wyskakujące okienka (alerty)
  • Zadanie: wyskakujące okienka
  • Praca na kilku oknach przeglądarki
  • Zadanie: praca na kilku oknach przeglądarki
  • Listy rozwijane: pobieranie informacji
  • Listy rozwijane: zaznaczanie i odznaczanie opcji
  • Zadanie: listy rozwijane
  • Zrzuty ekranu
  • Zrzuty ekranu: przykład
  • Inicjalizacja driverów: Chrome, Firefox, Opera, Edge, IE
  • Selenium Grid
  • Selenium Grid: RemoteWebDriver
  • Selenium Grid: konfiguracja
  • Selenium Grid: konfiguracja w plikach JSON
  • Projekt testowy: testy koszyka
  • Projekt testowy: testy płatności
  • Projekt testowy: testy kuponów
  • Wprowadzenie do Page Object Model
  • Pierwszy test w POM
  • Pierwsze klasy Page Object
  • "Chainowanie" metod
  • Czekanie po akcji vs czekanie przed akcją
  • Zadanie: dwa kolejne testy w POM
  • Rozszerzenie metody AddToCart() i przepisanie dwóch kolejnych testów
  • Zadanie: testy koszyka w POM
  • Testy płatności w POM
  • Wydzielenie klas Page Object i referencje do projektów
  • Zadanie: testy płatności w POM
  • BaseTest: bazowa klasa testu
  • CustomAssert: niestandardowe asercje
  • TestHelpers: metody pomocnicze
  • Jedna metoda, ale dwa typy zwracane
  • BasePage: bazowa klasa Page Object
  • Page Object: jeden poziom głębiej
  • Parametryzacja drivera
  • Refaktoring: nowy driver
  • Driver factory
  • Konfiguracja z pliku JSON
  • Deserializacja JSONa
  • Refaktoring: system operacyjny w parametrze drivera i URL strony
  • Dane testowe z pliku JSON
  • Użycie w testach danych testowych z pliku

Footer

Elzbieta Natalia Sadel
Av. de las Postas 21 6 C
29014 Málaga
Hiszpania
NIF: Y7882076J

Zostań trenerem!

Regulamin
Polityka prywatności
Polityka wsparcia w ramach członkostwa

Koszulki i torby dla testerów

Pomoc
Kontakt

Poskładane z 💛 przez Automatela.pl