Selenium Grid2 - удаленный узел не подключается к HUB - PullRequest
7 голосов
/ 30 декабря 2011

Моя текущая настройка - у меня есть selenium RC, работающий в качестве концентратора на машине с Windows (допустим, имя машины - machine.name.com).Я использовал следующую команду, чтобы запустить его

java -jar selenium-server2.15.jar -role hub -port 5555

У меня есть узел селена, работающий на той же машине, которая зарегистрирована на вышеуказанном узле.Я использовал следующую команду для запуска узла

java -jar selenium-server2.15.jar -role node -port 5554 -hub http://machine.name.com:5555/grid/register

Этот узел успешно зарегистрирован, и я могу также запустить тесты этого узла.

Теперь у меня есть другая машина (LINUX - давайте предположим, что IP-адрес этой машины - 10.123.123.123), где я хочу запустить другой узел, зарегистрированный в хабе, на машине с windows (machine.name.com) в порту 5555. Я использовал следующеекоманда для запуска узла.

java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX,maxInstances=5

Проблема в том, что этот узел не регистрируется HUB.

Я точно знаю, что Hub и Node обнаружили друг другакогда я нажимаю http://machine.name.com:5555/console в браузере, отображаются оба узла.Но на машине Linux есть сообщение об ошибке: « прослушивает http://10.123.123.123:5572 (в данный момент не может быть достигнуто) »

, и никакие тесты селена не могут быть запущены с этого узла.

Я прочитал в селеногруппах ЗДЕСЬ , что удаленный узел должен также определить пару ключ-значение -hubHost.Поэтому я также попробовал следующую команду, но безуспешно

java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX, maxInstances=5 -hubHost "machine.name.com"

Но это также не регистрирует узел.

Обратите внимание, что в linux на консоли не выдается ошибкамашина.все, что отображается, -

13:20:55.891 INFO - starting auto register thread. Will try to register every 5000ms
13:20:55.891 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register
13:23:06.860 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register
13:25:17.678 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register
13:27:28.496 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register
13:29:39.311 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register

На консоли, работающей с концентратором на компьютере с Windows, не выдается никаких ошибок.

Брандмауэры соответствующим образом проколоты, а также проверены с помощью telneting.

При всем этом я уверен, что сделал что-то в корне неправильно, может кто-нибудь, пожалуйста, ПОМОГИТЕ МНЕ !!!!!

Ответы [ 4 ]

12 голосов
/ 04 января 2012

Спасибо, ребята, за помощь, но проблема была в том, что IP-адрес моего сервера узлов не был маршрутизируемым. Таким образом, я создал запись узла (также запись DNS) для сервера узла. и добавил еще один параметр -host

поэтому команда теперь выглядит как

java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX, maxInstances=5 -hubHost "machine.name.com" -host "nodemachine.name.com"

Еще раз спасибо всем.

0 голосов
/ 28 января 2016

Если вы используете виртуальную машину, вам нужно проверить свою энтропию. Selenium использовал urandom, и если вам не хватает энтропии, потребуется 1 час + (если вообще), чтобы узел поднялся.

В CentOS (и других дистрибутивах) установить:

yum install haveged
chkconfig haveged on
systemctl start haveged

Перезапустите обе службы, и Selenium должен загрузиться правильно.

0 голосов
/ 21 мая 2013

Я столкнулся с аналогичной проблемой при размещении как узла, так и концентратора на локальной машине, когда я был в VPN.Мне удалось обойти эту проблему, запустив и концентратор, и узел с параметрами -host и -port

. Для запуска концентратора команда выглядит примерно так:

java -jar selenium-server-standalone-2.32.0.jar -role hub -host <hubipaddress> -port 4444

При запуске узла команда выглядит примерно так:

java -jar selenium-server-standalone-2.32.0.jar -role node -host <nodeipaddress> -port 5555 -hub http://<hubipaddress>:4444/grid/register

В моем случае и hubipaddress, и nodeipaddress совпадают, и это ip-адрес, назначенный мне через VPN

0 голосов
/ 31 декабря 2011

Мне кажется, вы делаете это правильно. Вы пробовали флаг -debug при запуске узла? Может быть, вы найдете там что-нибудь.

И вы, вероятно, хотите browserName = googlechrome вместо browserName = chrome

...