2011-12-30 2 views
5

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

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 one - позволяет предположить, что IP-адрес этого аппарата равен 10.123.123.123), где я хочу запустить другой узел, зарегистрированный в концентраторе на окнах (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.

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

и не селен тесты не могут быть отбежать этот узел.

Я прочитал в seleniumgroups HERE, что удаленный узел также должен определить пару значений ключа -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 

Нет ошибок выбрасываются на консоли работает концентратор на машине окна.

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

Со всем этим я уверен, что сделал что-то принципиально неправильно, может кто-то пожалуйста ПОМОЧЬ МЕНЯ !!!!!

+0

Вы когда-нибудь пытались запустить ту же команду, что и в Windows? Без браузера или платформы –

ответ

10

Спасибо, ребята за помощь, но проблема была, потому что 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

Я столкнулся с той же проблемой с машиной Mac, но параметр -host разрешил мою проблему. Спасибо buddy – bugCracker

+0

Привет, Эйми, могу ли я использовать ip-адрес вместо 'machine.name.com'? если да, то какое значение будет для ** - hubHost ** и ** - host **. Я не знаю свое имя машины. – Rameshwar

+0

Я предполагаю, что вы можете запустить узел, полностью игнорируя эти два варианта. – Amey

0

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

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

+0

Спасибо, я понял, из-за локальной сети я инкапсулирован. Я предоставил команду хозяина, которую я набрал, чтобы заставить ее работать – Amey

+0

, почему вы говорите об этом имени браузера? Все, что я прочитал, говорит, что это должно быть 'chrome' –

0

Я столкнулся с аналогичной проблемой при размещении как узла, так и концентратора на локальной машине, когда я был в 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

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

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

yum install haveged 
chkconfig haveged on 
systemctl start haveged 

Restart обе службы и Селен должны загружаться надлежащим образом.

Смежные вопросы