Как изменить порт, который 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 +
в терминале.