• 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# 4. Nawigacja pomiędzy stronami

Strona główna > Kursy > Kurs Selenium w C# > Selenium w C# 4. Nawigacja pomiędzy stronami

W tej lekcji poruszymy kolejny temat, a będzie nim nawigacja pomiędzy stronami. Poznamy metody pozwalające na przejście na daną stronę, powrót na poprzednią, przejście naprzód oraz odświeżenie strony.

Chcesz takich filmów więcej? Zasubskrybuj mój kanał!

 

Nawigacja pomiędzy stronami: linki i materiały

  • Metody nawigacyjne
  • Nawigacja pomiędzy stronami: klasa Navigation.cs
  • Dokumentacja Selenium: linki

Metody nawigacyjne

Metody, o których jest mowa w tej lekcji to:

  • GoToUrl() – ta metoda pozwala nam na przejście na podaną stronę; w parametrze możemy podać stringa z adresem strony albo obiektu typu Uri (np. new Uri(„adres jakiejś strony”));
  • Back() – pozwala wrócić na poprzednią stronę;
  • Forward() – pozwala na przejście naprzód (ale musimy mieć coś „naprzód” więc musimy się wcześniej cofnąć np. poprzez metodę Back();
  • Refresh() – odświeża stronę.

Nawigacja pomiędzy stronami: klasa Navigation.cs

Poniżej znajdziesz klasę testową, którą posługiwałam się w lekcji.

Ukryta treść

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

Dokumentacja Selenium: linki

Sygnatury wszystkich wyjaśnionych dzisiaj metod znajdują z w interfejsie INavigation. Ponieważ to interfejs, nie zobaczysz tam implementacji tych metod. Interfejs to raczej coś w rodzaju kontraktu czy umowy mówiącej o tym jakie metody ma implementować każda klasa implementująca ten interfejs. Interfejs ten jest zaimplementowany przez klasę RemoteNavigator – jak wygląda ta klasa i omówione metody możesz podejrzeć tutaj.

Reader Interactions

Komentarze

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

Komentarze

  1. Karolina napisał

    18 listopada, 2019 o 10:57 am

    Po utworzeniu projektu w sekcji, gdzie są using tworzą mi się takie rzeczy:

    using System;
    using System.Collections.Generic;
    using System.Text;

    U Ciebie są inne. Czy Ty dodajesz sobie je ręcznie czy one tworzą się automatycznie?

    Odpowiedz
    • Ela Sądel napisał

      18 listopada, 2019 o 11:43 am

      Zobacz sobie 00:30 - też je mam. Nie dodaję ich [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.

      Odpowiedz
      • Michalina napisał

        22 grudnia, 2019 o 6:11 pm

        Hej,
        Kiedy wpisuje Thread.Sleep(5000); dostaję informację, że Thread does not exist in the current context.
        Masz może pomysł co może być przyczyną?

        Odpowiedz
        • Elżbieta Sądel napisał

          22 grudnia, 2019 o 7:01 pm

          Pokazuję w Odpowiedz

  2. Karolina napisał

    18 listopada, 2019 o 1:23 pm

    Dziękuję. Rzeczywiście aktualizuje się ta sekcja jak dopisuje nowe linijki kodu. Tylko dobrze by było dodać info dlaczego akurat to się aktualizuje i po czym:)

    Odpowiedz
  3. Michalina napisał

    23 grudnia, 2019 o 9:10 am

    Dzięki, własnie zanim przeczytałam Twoją odpowiedź udało mi się wygooglować co dodać:)
    Problem był taki, że alt+enter nie wyszukiwał podpowiedzi (mielił tylko i nic nie pokazywał), ale nie wiem czy to nie był problem z moim VS po ostatniej aktualizacji. Przeinstalowałam i jest ok 🙂

    Odpowiedz
    • Elżbieta Sądel napisał

      23 grudnia, 2019 o 9:40 am

      Super, dobrze, że zadziałało! [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.

      Odpowiedz
  4. Ola Roślik napisał

    17 stycznia, 2020 o 5:10 pm

    Hej - przy ostatnim teście (RefreshTest), wyskakuje mi taka informacja: OpenQA.Selenium.WebDriverTimeoutException: 'timeout
    (Session info: chrome=79.0.3945.130)' - czy wiesz, jak można z tym sobie poradzić? 🙂

    Odpowiedz
    • Elżbieta Sądel napisał

      17 stycznia, 2020 o 5:30 pm

      Jeżeli masz kod dokładnie taki jak ja, to sprób [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.

      Odpowiedz
      • Ola Roślik napisał

        17 stycznia, 2020 o 5:42 pm

        Tak, rzeczywiście zapomniałam o timeoutach pod setupem 😀 Zwiększyłam i działa, dziękuję! 😀

        Odpowiedz

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