Какова точная цель Selenium Grid?

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

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

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

1 ответ

Решение

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


Удаленный WebDriver

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

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

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


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

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


Клиент удаленного WebDriver

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


Подробно о шагах

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

  • Запустите SeleniumGrid 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 SeleniumGrid 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] - SeleniumGrid 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
    
  • Доступ к консоли SeleniumGrid версии 3.141.59 через URL-адресhttp://localhost:4444/grid/console:

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

    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 SeleniumGrid 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] - SeleniumGrid 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
    
  • Сновавойдите вSeleniumGrid Console v.3.141.59 через URL-адресhttp://localhost:4444/grid/consoleдля просмотра зарегистрированного узла:

Другие вопросы по тегам