Как изменить порт, который WebDriver Firefox подключается к localhost?

У меня есть тест selenium webdriver, преобразованный в проект maven, который я хочу запустить через xvfb на Jenkins.

существует проблема с выбором дисплея, но я хотел бы попробовать что-то еще и изменить порт, например.

Это ошибка, я получаю:

org.openqa.селен.браузер firefox.NotConnectedException: не удается подключиться к хосту 127.0.0.1 на порту 7055 после 45000 МС.

вывод консоли Firefox:

ошибка: не указан дисплей

ошибка: не указан дисплей

и это мой код:

File ffExe = new File("/usr/bin/firefox");
FirefoxBinary ffox = new FirefoxBinary(ffExe);
ffox.setEnvironmentProperty("DISPLAY", ":21");
WebDriver driver = new FirefoxDriver(ffox, null);

Итак, как я могу сказать firefox использовать другой порт и какой из них я должен указать?

2 ответов


существует системное свойство-webdriver.браузер firefox.порт, который может быть ответом на запрос йору. Он указан в wiki -http://code.google.com/p/selenium/wiki/FirefoxDriver, но нет никакого documentaion предусмотрено для того же. Вы можете попробовать и дайте нам знать, если это работает :)


проблема не в том, что он не может подключиться к этому порту, а во второй части ошибки, что в Jenkins нет дисплея. Вот почему настройка дисплея для Firefox, вероятно, не работает.

узнайте, какие настройки дисплея, введя env в терминале и снимая номер, присвоенный вашей переменной отображения. Например DISPLAY:1.0.

Далее вам нужно установить переменную отображения в Hudson / Jenkins. Перейдите к Целевая страница Дженкинса затем нажмите Управление Jenkins>Управление Узлами>Master>Configure. Установите флажок переменные среды, затем установите DISPLAY в поле Имя, и значение что-то вроде нашего примера :1.0.

кроме того, вам, вероятно, придется отключить управление доступом xhost с помощью xhost + в терминале.