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 64. Konfiguracja Selenium Grid

Do tej pory uruchamialiśmy testy jedynie lokalnie. Teraz zaczniemy poznawać rozwiązanie pozwalające na uruchamianie testów w środowisku rozproszonym. Po lekcji dotyczącej inicjalizacji różnych driverów, teraz kolejna lekcja, która przygotuje nas do użycia RemoteWebDrivera. Czas na lekcję: konfiguracja Selenium Grid.

Selenium Grid pozwala uruchamiać testy na różnych maszynach na różnych przeglądarkach równolegle. Składa się z huba i node’a albo node’ów (z reguły raczej kilku node’ów). Hub to punkt centralny Selenium Grida – tam podejmowane są decyzje, gdzie powinny się wykonać testy, a dokładniej na jakiej konfiguracji, czyli na którym nodzie. Z reguły stawiamy jednego node’a na jednej maszynie, ale możliwe jest odpalenie kilku node’ów, czyli kilku konfiguracji na jednej maszynie.

Zarówno huba jak i node’a stawiamy używając pliku jar (Selenium Server), różni się tylko rola jaką nadajemy danej instancji, czyli będzie to albo hub albo node.

W tym filmie zobaczysz jak postawić grida o podstawowej konfiguracji oraz jak to zrobić, żeby nie wpisywać wszystkiego z ręki za każdym razem.

Selenium Server jest do ściągnięcia tutaj.
Przykładowe konfiguracje huba i node’a w jsonie, dostępne są w repozytorium Selenium na GitHubie: DefaultHub.json, DefaultNode.json.

Moja konfiguracja node’a z większą ilością przeglądarek:

{
  "capabilities":
  [
    {
      "browserName": "firefox",
      "maxInstances": 4
    },   
	{
      "browserName": "chrome",
      "maxInstances": 3,
	  "version": "66"	  
    },
    {
      "browserName": "operablink",
      "maxInstances": 3
    }
	{
      "browserName": "MicrosoftEdge",
      "maxInstances": 1
    }
	{
      "browserName": "internet explorer",
      "maxInstances": 1
    }
  ],  
  "maxSession": 5,
  "port": 5555,
  "register": true,
  "registerCycle": 5000,
  "hub": "http://localhost:4444",
  "nodeStatusCheckTimeout": 5000,
  "nodePolling": 5000,
  "role": "node",
  "unregisterIfStillDownAfter": 60000,
  "downPollingLimit": 2,
  "debug": false,
  "servlets" : [],
  "withoutServlets": [],
  "custom": {}
}

Przykładowy skrypt uruchamiający huba z konfiguracji:

java -jar selenium-server-standalone-3.141.59.jar -role hub -hubConfig hubconfig.json

Przykładowy skrypt uruchamiający node’a z konfiguracji:

java -Dwebdriver.ie.driver="<ścieżka_do_folderu>\IEDriverServer.exe" -Dwebdriver.chrome.driver="<ścieżka_do_folderu>\chromedriver.exe" -Dwebdriver.gecko.driver="<ścieżka_do_folderu>\geckodriver.exe" -Dwebdriver.opera.driver="<ścieżka_do_folderu>\operadriver.exe" -jar selenium-server-standalone-3.141.59.jar -role node -nodeConfig nodeconfig.json

Wsparcie merytoryczne

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