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

Первый Онлайн ИНститут Тестировщиков
онлайн, начало 10 декабря
Комплексная система подготовки тестировщиков по программе ISTQB FL
онлайн, начало 12 декабря
Школа тест-менеджеров v. 2.0
онлайн, начало 12 декабря
Тестирование веб-приложений 2.0
онлайн, начало 14 декабря
Фотография

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
  • 577 сообщений


Отправлено 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 2.0: стартовый уровень
онлайн, начало 7 декабря
Программирование на Java для тестировщиков
онлайн, начало 21 декабря
Автоматизация функционального тестирования
онлайн, начало 14 декабря
Selenium WebDriver: полное руководство
онлайн, начало 23 ноября




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

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

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

Яндекс.Метрика
Реклама на портале