Каково точное назначение Selenium Grid? - PullRequest
2 голосов
/ 08 января 2020

Я новичок в Selenium, TestNG и Selenium Grid. Я немного запутался, когда именно мне нужно использовать Selenium Grid. Ниже мое понимание этого. Просто дайте мне знать, если я прав:

  1. Selenium Grid только для удаленного запуска ваших тестов на другой машине
  2. Если мне нужно запустить свои тесты параллельно в моей локальной машине нет необходимости использовать Grid. Этого можно достичь, используя только TestNG
  3. Если мне нужно выполнить мой тест параллельно на разных удаленных компьютерах, тогда мне придется использовать Selen Grid вместе с TestNG.

Так что я понимаю, что цель сетки Selenium - НЕ параллельное выполнение . Это для удаленного исполнения. Параллельное выполнение достигается с помощью TestNG . Невозможно выполнить параллельное выполнение только с помощью Grid . Это правильно?

1 Ответ

1 голос
/ 08 января 2020

Вы совершенно правы в своем заключении, что цель Selenium Grid - выполнить тесты удаленно на удаленных машинах . Две основные причины распространения ваших тестов:


Remote WebDriver

Согласно официальной документации Remote WebDriver :

Вы можете использовать WebDriver удаленно так же, как и локально. Основное отличие состоит в том, что удаленный WebDriver должен быть настроен так, чтобы он мог запускать ваши тесты на отдельной машине.

Удаленный WebDriver состоит из двух частей: сервера и клиента. Клиент - это тест WebDriver, а сервер - просто сервлет Java, который можно разместить на любом современном сервере приложений JEE.


Удаленный сервер WebDriver

Удаленный сервер WebDriver всегда будет работать на компьютере с браузером, который вы хотите протестировать. Сервер может быть запущен из командной строки (или через конфигурацию кода).


Удаленный клиент WebDriver

Для запуска Удаленный клиент WebDriver вам необходимо Сначала подключитесь к RemoteWebDriver. Мы делаем это, указывая URL-адрес на адрес сервера, на котором выполняются наши тесты.


Подробное описание шагов

Необходимо выполнить следующие шаги:

  • Запуск Selenium Grid Hub :

    java -jar selenium-server-standalone-3.141.59.jar -role hub
    
  • Создано журналов:

    18:10:13.310 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
    18:10:13.618 INFO [GridLauncherV3.lambda$buildLaunchers$5] - Launching Selenium Grid hub on port 4444
    2020-01-02 18:10:14.605:INFO::main: Logging initialized @2136ms to org.seleniumhq.jetty9.util.log.StdErrLog
    18:10:15.504 INFO [Hub.start] - Selenium Grid hub is up and running
    18:10:15.509 INFO [Hub.start] - Nodes should register to http://192.168.1.125:4444/grid/register/
    18:10:15.510 INFO [Hub.start] - Clients should connect to http://192.168.1.125:4444/wd/hub
    
  • Доступ к консоли Selenium Grid v.3.141.59 через URL http://localhost:4444/grid/console:

SeleniumGridConsole

  • Запустите узел Selenium Grid :

    java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.141.59.jar -role node -port 7777 -hub http://192.168.1.125:4444/grid/register
    
  • Создано журналов:

    18:33:55.959 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
    18:33:56.112 INFO [GridLauncherV3.lambda$buildLaunchers$7] - Launching a Selenium Grid node on port 7777
    2020-01-02 18:33:56.584:INFO::main: Logging initialized @983ms to org.seleniumhq.jetty9.util.log.StdErrLog
    18:33:56.913 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
    18:33:57.029 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 7777
    18:33:57.029 INFO [GridLauncherV3.lambda$buildLaunchers$7] - Selenium Grid node is up and ready to register to the hub
    18:33:57.195 INFO [SelfRegisteringRemote$1.run] - Starting auto registration thread. Will try to register every 5000 ms.
    18:33:57.734 INFO [SelfRegisteringRemote.registerToHub] - Registering the node to the hub: http://192.168.1.125:4444/grid/register
    18:33:57.856 INFO [SelfRegisteringRemote.registerToHub] - The node is registered to the hub and ready to use
    
  • Доступ к консоли Selenium Grid v.3.141.59 снова через URL http://localhost:4444/grid/console для просмотра зарегистрированного узла:

SeleniumGridConsole_NodeRegistered

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...