Перейти к содержимому

Фотография

CentOS+SeleniumServer+ChromeDriver запускается только на 1 порту

selenium selenium grid linux chromedriver

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 ant1dot

ant1dot

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Хахин Андрей Константинович

Отправлено 13 января 2016 - 13:57

Доброго дня.
Поставили задачу: гонять тесты под UNIX.

Почитали, выбрали xvfb для запуска. Установили все. Работает.
НО, есть проблема с прогоном тестов: 1 машина == 1 инстансу chrome
У нас виртуалки выдерживают 4 chrome спокойно. В настройках ноды выставляем 4 (на винде все ок)
После запуска одного браузера на ноде, остальные падают с исключением:

Caused by: java.lang.RuntimeException: Unable to find a free port

at org.openqa.selenium.net.PortProber.findFreePort(PortProber.java:67)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:292)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:138)
... 14 more
13:45:41.442 WARN - Exception: Unable to find a free port

 

Как я понимаю, selenium server пытается запустить chromedriver на том же порту - 1024 (проверял параметры запуска процесса chromedriver).

На винде порты выбираются рендомно, все хорошо.

На linux не хочет выбирать другой, только на 1024 запускает chromedriver. Хотя порты свободны.
Запускаем ноду вот так:


DISPLAY=:99 xvfb-run java -jar /home/autotest/selenium-server-standalone-2.48.2.jar -role node -hub http://test-selenium...4/grid/register -browser browserName=chrome,maxInstance2

 

Помогите, пожалуйста, решить проблему.


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 13 января 2016 - 15:50

Версия хромдрайвера и хрома какие?


  • 0

#3 ant1dot

ant1dot

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Хахин Андрей Константинович

Отправлено 14 января 2016 - 06:28

chromedriver 2.20

Google Chrome 47.0.2526.106

 

только это тут причем? если падает в самом selenium server в методе findFreePort, а один экземляр chrome отлично и стабильно работает, только все время на 1024 порту.


  • 0

#4 ant1dot

ant1dot

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Хахин Андрей Константинович

Отправлено 14 января 2016 - 11:27

Решили проблему, пришлось посмотреть код selenium server

А именно, как он вычисляет диапазон портов.
В linux он смотрит в файл /proc/sys/net/ipv4/ip_local_port_range
У нас там был диапазон 1024 65535, а как мы поняли, selenium берет все вне этого диапазона, поэтому у нас был один порт - 1024.
Поправили настройки на 5000 65535, теперь запускается на портах с 1024 - 5000.


  • 1



Темы с аналогичным тегами selenium, selenium grid, linux, chromedriver

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных