• 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# 34. JavaScript w Selenium

Strona główna > Kursy > Kurs Selenium od zera w C# > Selenium w C# 34. JavaScript w Selenium

W tej lekcji zobaczysz jak możesz użyć skryptów JavaScript w Selenium. Co to w ogóle znaczy? A no w możemy w otwartym oknie uruchomić jakiś skrypt. Pokażę Ci też do czego to się może przydać.

JavaScript w Selenium

Lekcję zacznę od pokazania Ci w konsoli o co chodzi z tym JavaScriptem i co z grubsza możemy zrobić. Następnie przejdziemy do testów i zobaczysz jak odpalać takie skrypty w Selenium, a mamy do tego dwie metody.

IJavaSciptExecutor

Żeby móc w ogóle odpalić jakikolwiek skrypt potrzebujemy najpierw jakiś obiekt, na którym będziemy mogli wywołać odpowiednie metody. W tym celu musimy rzutować drivera na IJavaScriptExecutor.

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

IJavaScriptExecutor jest interfejsem zawierającym sygnatury dwóch metod: ExecuteScript oraz ExecuteAsyncScript.

ExecuteScript

Metoda ExecuteScript wykonuje JavaScript, który podamy w parametrze, w kontekście aktualnie otwartego okna albo ramki, w której jesteśmy (czyli po przełączeniu się do niej). Do tej metody możemy także przekazywać dodatkowe argumenty. Metoda ta może (ale nie musi) zwrócić kilka różnych typów w zależności od tego, co zwróci nasz skrypt.

Poniżej przykład skryptu, który wyrzuci nam podany tekst w konsoli (tak działa console.log() w JavaScript).

Ukryta treść

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

A tutaj zobaczysz skrypt, który już coś zwraca (podany przez nas tekst) w związku z czym metoda ExecuteScript też nam coś zwróci (string).

Ukryta treść

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

Magiczna zmienna arguments

Pokażę Ci teraz na przykładzie kliknięcia w element za pomocą JavaScript jak przekazywać jakieś argumenty do skryptu. Dodam tylko od razu, że takich rzeczy jak klikanie w elementy nie będziemy robić za pomocą JavaScript i jest to bardzo zła praktyka. Więcej o tym mówię na filmie. Jednak taki przykład wydaje się bardzo intuicyjny, bo rozumiemy dokładnie co chcemy zrobić, więc postanowiłam się nim posłużyć.

Jeżeli chcemy kliknąć za pomocą JavaScriptu w jakiś element, musimy ten element przekazać, co dzieje się w przykładzie poniżej.

Ukryta treść

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

ExecuteAsyncScript

Ta metoda służy do wykonywania takich JavaScriptów, które nie odpowiadają nam od razu, tzn. że musimy poczekać na efekt ich działania. Pokazuję o co chodzi wraz z przykładem na filmie.

Kod

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

Footer

Elzbieta Natalia Sadel
Calle Marzo 9 1 D
41009 Sevilla
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

Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.ZgodaNie wyrażam zgodyPolityka prywatności