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 65. RemoteWebDriver: inicjalizacja drivera wspierającego testy w trybie rozproszonym

Po wstępie do Selenium Grid i poznaniu zasady jego działania, możemy przejść do kolejnego tematu czyli inicjalizacji drivera, który będzie w stanie pracować z gridem, a więc obiektu klasy RemoteWebDriver.

Hub bierze pod uwagę trzy informacje decydując, na którym nodzie testy mają się odpalić. Jest to rodzaj przeglądarki (np. Chrome), platforma (np. Windows 10) oraz wersja przeglądarki (np. 75). Każdy node można skonfigurować tak, żeby przechowywał te informacje. W poprzedniej lekcji konfigurowaliśmy już przeglądarki dostępne na danym nodzie, ich wersje (opcjonalnie) i platformę (również opcjonalnie). Jeżeli nie podamy żadnej platformy, zostanie ona pobrana z systemu ale pobrana informacja nie zawsze jest prawidłowa, o czym mówię na filmie. Dlatego dobrze sobie platformę skonfigurować w nodzie, jeżeli nie jest nam wszystko jedno na jakim systemie operacyjnym testy się odpalą.

Skoro mamy już jakieś node’y o jakiejś określonej konfiguracji, to możemy teraz przejść do konfigurowania drivera w taki sposób, żeby testy odpaliły się tam gdzie chcemy, czyli np. na przeglądarce Chrome w wersji 75 na Windows 10. W tym celu właśnie potrzebujemy RemoteWebDrivera. Driver zainicjalizowany w sposób, w jaki używaliśmy go do tej pory, uruchomi testy lokalnie. Żeby testy uruchomić w gridzie potrzebny jest nam właśnie obiekt klasy RemoteWebDriver. W parametrach przekazujemy adres URL, który to jest potrzebny driverowi do komunikacji z hubem, oraz opcje. To właśnie za pomocą opcji będziemy konfigurować przeglądarkę, jej wersję i platformę.  To pozwoli hubowi na decyzję, gdzie takie testy uruchomić.

Linki:

Dokumentacja: RemoteWebDriver, ChromeOptions, FirefoxOptions, EdgeOptions, OperaOptions, InternetExplorerOptions.

 

Wsparcie merytoryczne

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

  1. Cześć

    Czy na jednym hubie możemy zadeklarować np. Firefoxa + Win8 oraz Chrome+Win10. Generalnie czy możemy deklarować różne systemy operacyjne na jednym hubie czy raczej jest to nie wskazane ?

    Pozdrawiam.

    Odpowiedz
  2. Tak sorry, oczywiście miałem na myśli node'a.
    Chodziło mi, czy w pliku json z konfiguracją możemy w capabilities wrzucić, np. firefox na win8 i chrome na win 10.
    Czy ma to rację bytu ?

    Odpowiedz