Привязать селен к определенному IP - возможно?

Как и многие, мы запускаем сервер selenium с помощью следующей команды:

java -jar selenium-server-standalone-2.21.0.jar

Мы обнаружили, что это открывает selenium вверх на 0.0.0.0:4444

Started SocketListener on 0.0.0.0:4444

[USER @ BOX ~]# netstat -na | grep LISTEN | grep 4444
tcp        0      0 :::4444                     :::*                        LISTEN

Есть ли способ привязать селен к определенному ip (localhost)?

Спасибо.

Ответ 1

Используйте следующую команду

    java -jar selenium-server-standalone-2.21.0.jar -host 192.168.1.100

где 192.168.1.100 - IP-адрес хоста

Ответ 2

Это не правильный способ решения этой проблемы, но ее способ

Итак, что это будет делать, просто отключите любое соединение на порту 4444 от любого внешнего источника. Вы можете проверить это, сначала перейдя на страницу

запустите сервер, как этот

java -jar selenium-server-standalone-2.39.0.jar -host 127.0.0.1 -port 4444 

проверить, что все работает

http://yourexternalip:4444/wd/hub/

страница загрузится. если ваш сервер работает правильно.

Отправка команд

sudo iptables -A INPUT -p tcp --dport 4444 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4444 -j DROP

затем перезагрузите страницу. веб-страница больше не будет доступна (поскольку вы получаете доступ к внешнему IP-адресу)

ваш новый доступный URL-адрес теперь

http://127.0.0.1:4444/wd/hub/

который должен работать

Опять же, это больше подходит для большей проблемы, и это не заставит вас изменить какой-либо исходный код и сохранить сохраненную систему

Ответ 3

Это можно будет добавить, добавив параметр "-host 192.168.1.100", если у вас есть это исправление в вашей версии:

https://code.google.com/p/selenium/source/detail?r=71c5e231f442

(Это исправление не входит в имеющиеся исполняемые файлы на момент написания, поэтому вам придется создавать свои собственные источники.)

Ответ 4

Вы можете запустить java -jar selenium-server-standalone-2.21.0.jar на удаленном компьютере

а затем в ваших сценариях селена определите, что ваш webdriver запускается удаленно.

В рубине вы можете сделать это таким образом

@driver = Selenium::WebDriver.for(:remote, :url => "http://specific_ip_of_remotemachine:4444", :desired_capabilities => firefox)

это то, что вы ищете?