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

Selenium WebDriver: полное руководство
онлайн, начало 19 октября
Логи как инструмент тестировщика
онлайн, начало 22 октября
Школа для начинающих тестировщиков
онлайн, начало 122 октября
Тестирование REST API
онлайн, начало 22 октября
Фотография

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


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




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

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

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

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