Доброго дня.
Поставили задачу: гонять тесты под 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
Помогите, пожалуйста, решить проблему.