У меня есть ящик, на котором я запускаю тесты. Похоже, что Дженкинс будет подключаться по ssh и выполнять команды, описанные в конкретном запущенном задании.
Здесь я пытаюсь запустить тесты Selenium Webdriver, но он сообщает мне, что у меня есть ошибки при запуске firefox. Конечная идея состоит в том, чтобы полностью запустить веб-тесты на этом окне, а также сделать несколько снимков экрана с ошибками.
Я использую selenium-java-2.25.jar, firefox 10, Linux OS.
Забавно то, что я могу вручную ввести ssh в ящик, временно скопировать волшебный файл cookie другого пользователя в ящик (чтобы получить туннель X), выполнить export DISPLAY=mydisplay:1.0
, а затем запустить мои тесты на селен с помощью ant. И это сразу вызовет firefox и тесты.
Здесь есть разные темы, которые, кажется, имеют одну и ту же проблему, и я думаю, что пробовал большинство из них. Вот что я сделал:
Перезагрузите коробку, войдите снова с помощью VNC.
Разместил сценарий bash в Jenkins для запуска перед запуском тестов на селен. Сценарий bash в основном просто выполняет
export DISPLAY=mydisplay:1.0
. Он также выполняетсяxclock
. Это работает, поскольку я вижу, что xclock отображается в VNC.iptables были отключены
firefox правильно расположен в / usr / bin / firefox
sshd_config показывает, что X11Forwarding имеет значение true.
Предположительно, понижение версии firefox помогло некоторым людям, но я не хочу этого делать. Webdriver в любом случае должен поддерживать FF 10.
Однако ничто из вышеперечисленного не решает проблему.
Не похоже, что порт 7055 на localhost вообще существует:
netstat -an | grep 7055
- Ничего не печатается
Вот что говорит мой / etc / hosts:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
Возможно, это как-то связано с отсутствием localhost: 7055? Я не знаю, куда идти дальше. тем не менее, почему вывод ошибки говорит, что ищет, display: :0.0
когда я указал mydisplay:1.0
?
И, наконец, сообщение об ошибке, которое я получаю:
[testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng]
[testng] at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:245)
[testng] at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:185)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:174)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
[testng] at com.test.webtest.browser.BrowserFactory.createBrowser(BrowserFactory.java:24)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[testng] at java.lang.reflect.Method.invoke(Method.java:601)
Ответы:
Не знаю, решили ли вы эту проблему, но я только что решил ту же проблему с другой стороны.
Похоже, что Selenium и Firefox испытывают трудности при общении друг с другом - я подозреваю, что Firefox «развивает» изменения в нескольких выпусках, поэтому обратная и прямая совместимость не всегда гарантируется, а несовместимость всегда, кажется, порождает одну и ту же ошибку.
Моя проблема началась, когда я перешел с FF 15 на FF 16. При запуске на Ubuntu это происходит автоматически вместе с другими обновлениями, но я считаю, что это было критическое изменение.
Проблема решена переходом с Selenium 2.24.1 на Selenium 2.25.0
Поскольку изменение селена заключается в том, чтобы просто загрузить файл jar и запустить его вместо старого, стоит попробовать это как быстрое и легкое средство устранения неполадок - если это не помогает, просто переключитесь обратно. В вашем случае я не уверен, какую версию Selenium попробовать, но я думаю, что 2.24 должна работать с FF 10.
Еще одна проблема, которую я обнаружил в прошлом, заключается в том, что Firefox не запускается с правами root в Ubuntu. Это происходит, если Selenium работает как служба или, возможно, запускается из сценария bash или задания cron. Это может объяснить, почему он работает для вас, а не для Дженкинса.
источник
У меня была аналогичная проблема. Возможно, этот ответ вам тоже поможет.
Похоже, у вас происходят две разные ошибки:
Unable to connect to host 127.0.0.1 on port 7055
Error: no display specified
Причина
Unable to connect
ошибки в том, что версия Selenium Server не умеет работать с более новой версией Firefox. Вам необходимо загрузить более новую версию Selenium Server, которая поддерживает более новую версию Firefox.Причина
Error: no display specified
ошибки в том, что Firefox запущен, но на удаленном хосте нет X-сервера (GUI). Вы можете использовать перенаправление X11 для запуска Firefox на удаленном хосте, но отображать его на локальном хосте. В Mac OS X вам нужно будет загрузить XQuartz , чтобы использовать пересылку X11.источник
Вам необходимо проверить совместимость браузера, прежде чем вы решите протестировать с помощью Selenium:
https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG
Это может помочь ответить на поставленный выше вопрос.
источник
Получите последнюю версию Selenium jar (2.30) для FireFox 19
Вы можете скачать последние jar-файлы (2.31 на момент написания) здесь: https://code.google.com/p/selenium/downloads/list
источник
Я решил эту проблему, понизив свой Firefox до более старой версии, которая ранее хорошо работала с Selenium-WebDriver. В моем случае мне пришлось вернуться к Firefox 18, и эта версия работала с Selenium 2.27.
Вот ссылка для получения более старых версий firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
источник
Эта проблема преследовала меня долгое время, и я видел одно работающее решение в случае Firefox - использовать обновленный драйвер firefox .
Если ваши обновления Firefox происходят автоматически, вы можете время от времени сталкиваться с этой проблемой. Похоже, ребята из Firefox развиваются слишком быстро или им наплевать на обратную совместимость.
Каждый раз, когда я вижу эту проблему в своих старых скриптах, я проверяю, изменилась ли с тех пор версия firefox - в большинстве случаев это так.
Затем я перехожу в репозиторий maven для репозитория драйвера selenium firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver и загружаю последнюю версию.
или обновите мой pom.xml (если используется maven) новой версией драйвера firefox прямо сейчас - 2.40.0
Нет простого способа избежать этой проблемы, если вы действительно явно не заблокируете автоматическое обновление из firefox (вы можете сделать это (на Mac) в настройках - Дополнительно - Обновление - Выберите «Проверить наличие обновлений, но позвольте мне выбрать, устанавливать ли их») )
Если ваши скрипты работают в автоматическом режиме, вы можете отключить обновления. Однако это может создать другие проблемы. Поскольку у большинства людей / пользователей по умолчанию могут быть включены обновления Firefox. Итак, ваше приложение на самом деле не тестируется на более поздних версиях.
источник
У меня были Firefox 47 и Selenium 2.53 , и я получил ту же ошибку. Мое решение было изменить Firefox 47 на Firefox 46 , проблема была решена.
источник
Обновите selenium jars, скачайте селен 2.31.0
Эта проблема была решена селеновыми парнями
Это была проблема совместимости.
Ура
источник
Проблема со сценарием заключается в том, что среда, используемая для сценария, отличается от среды, используемой для ваших тестов, поэтому установка переменных среды здесь ничего не делает для ваших тестов.
Чтобы правильно установить переменную, вам нужно установить ее в Jenkins. Перейдите в Управление Jenkins> Управление узлами> Мастер> Настроить . Установите флажок Переменные среды , затем введите ДИСПЛЕЙ в поле имени и установите значение: 1.0.
Кроме того, вам необходимо установить разрешения, попробуйте отключить элементы управления доступом xhost, используя
xhost +
в терминале.источник
Я тоже столкнулся с той же проблемой. Всякий раз, когда мы или webdriver открываем, браузер FF проверяет наличие обновлений. В этом случае я попытаюсь выполнить обновление во время выполнения, и тогда вы получите сообщение об ошибке, даже если оно будет обновлено правильно только потому, что вы не обновили версию Selenium должным образом.
Перейдите на « http://docs.seleniumhq.org/download/ » и загрузите последнюю версию. А теперь иди и проверь, действительно ли проблема решена. :)
источник
У меня такая же ошибка; Я использовал selenium-java версии 2.25.0 и Firefox vresion 18.0.2; Я изменил версию selenium-java на 2.30.0 и теперь работает.
источник
Для решения этой проблемы используйте новые файлы jar, доступные на http://docs.seleniumhq.org/download/ . Что касается java, C #, php и т. Д., Firefox 27.0.1 требует 2.39.0 версии драйвера.
источник
Просто установите плагин Xvnc в Jenkins. Проблема должна быть решена.
источник
У меня такая же ошибка «selenium_Unable to connect to host 127.0.0.1 on port 7055» Решение: я использовал selenium-java-2.48.2 с Firefox версии 43.0.1, и теперь он работает нормально.
источник
У меня тоже была такая же проблема, но проблема решена после понижения версии firefox до 35.0.1, а моя версия селена - 2.43
источник
У меня была точно такая же проблема с докером, но я нашел решение в журнале, предшествующем упомянутой вами ошибке.
Я последовал совету, и проблема была решена.
источник
Вот как он вел себя, когда я использовал статическое свойство IWebDriver и вызываю его из нескольких тестовых методов.
подобно
Решение
Для каждого вызывающего тестового метода создайте новый экземпляр Driver
источник
Обновите банки селена, если наш скрипт селена не выполняется. В настоящее время я использую selenium-java-2.43.0-srcs
Теперь все работает нормально
источник
Такое бывает на разных версиях ff. Я использую последнюю версию ff 39, используя selenium-server-standalone-2.41.0.jar и selenium-java-2.41.0.zip, который показывает ту же ошибку.
Получите последние файлы jar сервера и клиента здесь для совместимости, которые я использовал серверную и клиентскую версии 2.47.0 и 2.47.1 соответственно. И БУМ! Это сработало.
источник
Это происходит из-за старых версий. Просто обновите браузер до последней версии и обновите пакет selenium webdriver до последней версии.
источник
Просто перезапустите терминал. Терминал больше ничего не вешается. После этого все будет нормально работать
источник
Пополнение базы знаний. У нас была такая же проблема с Bamboo. Проблема была решена с помощью свойств окружающей среды на бамбуке.
Добавление значения в качестве системных свойств в pom.xml или в командной строке не сработало.
источник
В Windows: проверьте также "разрядность" вашего Firefox. Firefox 43.0.1 64bit не работает с Selenium 2.50.0. Хорошо работает с Firefox 43.0.1 32bit ...
источник
Я тоже застрял в этой ошибке в течение трех дней и, наконец, понял ее. Вы можете просмотреть ответ, который я дал здесь. Это проблема совместимости браузера и сервера селена. Надеюсь, это поможет. Вы можете проверить совместимость браузера по этой ссылке.
источник
Сегодня у меня была такая же проблема. Чтобы исправить это, я понизил версию Firefox с 51 до 47, и он работает.
Примечание. Я использую Linux Ubuntu Mate в Virtual Box, а хост - это другой Ubuntu Mate. Все ОС 64-битные, а также Firefox.
источник
Установил Firefox Setup 18.0.exe, у меня работает
источник
У меня была такая же проблема с firefox 38.
После использования следующих зависимостей версий я смог решить проблему.
источник
Думаю, это может быть проблема отображения. Если у вас нет графического интерфейса в коробке, то запуск firefox из selenium webdriver даст эту ошибку.
Чтобы решить эту проблему, сначала установите Xvfb [
yum install Xvfb -y
] (драйвер виртуального дисплея) в поле. Затем запустите свой тест от jenkins с помощьюxvfv-run -a -d <your test execution command>
. Это запустит браузер в виртуальном буфере дисплея. Также он может делать скриншоты с помощью selenium webdriver.источник
Решение -
1) Обновите свой Selenium Server, то есть selenium jar "selenium-server-standalone-2.xx.x.JAR" до "selenium-server-standalone-2.45.0.JAR"
2) Обновите клиентский драйвер Selenium, т.е. папку selenium libs "selenium-java-2.xx.x" до "selenium-java-2.45.0"
3) Проверьте и установите совместимую версию Firefox.
Обратитесь - Загрузите обновленные библиотеки selenium и jar, т.е. версию 2.45.0
Это РЕШИТ вашу проблему .. Ура !!
источник