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
Komentarze
Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc komentować.