Webdriver Не удается подключиться к хосту 127.0.0.1 на порту 7055 после 45000 мс

У меня есть поле, где я запускаю тесты. Кажется, что Дженкинс выполнил бы ssh и выполнил команды, описанные в конкретном задании, которое выполняется.

Здесь я пытаюсь запустить тесты Selenium Webdriver, но он говорит мне, что у меня есть ошибки при запуске firefox. Конечная идея состоит в том, чтобы полностью запустить веб-сайты в этом поле, а также сделать несколько скриншотов ошибок.

Я использую selenium-java-2.25.jar, firefox 10, linux OS.

Самое смешное, что я могу сделать ssh вручную в поле, временно скопировать волшебный файл cookie с другого пользователя на коробке (чтобы получить туннель X), сделать export DISPLAY=mydisplay:1.0, а затем запустить мои тесты selenium с помощью ant. И это вызовет firefox и тесты просто отлично.

Здесь есть разные темы, которые, похоже, имеют одну и ту же проблему, и я думаю, что я пробовал большинство из них. Вот что я сделал:

  • Перезагрузите поле, войдите в систему с VNC.

  • Разместил a bash script в Jenkins для запуска до запуска тестов на селен. bash script в основном просто export DISPLAY=mydisplay:1.0. Он также выполняет xclock. Это работает, поскольку я вижу, что xclock отображается в VNC.

  • iptables отключены

  • firefox правильно расположен в /usr/bin/firefox

  • sshd_config показывает, что X11Forwarding является истинным.

  • Предположительно, понижение рейтинга Firefox помогло некоторым людям, но я не хочу этого делать. Webdriver должен поддерживать FF 10 в любом случае.

Однако ни одно из указанных выше не решает проблему.

Не похоже, что порт 7055 на локальном хосте даже существует:

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)

Ответ 1

Не знаю, разрешила ли вы эту проблему, но я только что разрешил ту же проблему с другой стороны.

Кажется, 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 script или cron. Это может объяснить, почему он работает для вас, но не для Дженкинса.

Ответ 2

У меня была аналогичная проблема. Возможно, этот ответ поможет вам.

Похоже, что у вас две ошибки:

  • 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.

Ответ 3

Вам нужно проверить совместимость браузера, прежде чем выбирать тест с помощью Selenium:

https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG

Это может помочь ответить на вышеупомянутый вопрос.

Ответ 4

Получите последние Selenium jars (2.30) для FireFox 19

Вы можете скачать последние банки (2.31 на момент написания) здесь: https://code.google.com/p/selenium/downloads/list

Ответ 5

Я решил эту проблему, понизив мой Firefox до более старой версии, которая ранее хорошо работала с Selenium-WebDriver. В моем случае мне пришлось вернуться к Firefox 18, и эта версия работала с Selenium 2.27

Вот ссылка, чтобы получить более старые версии firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

Ответ 6

Эта проблема преследовала меня в течение длительного времени, и я видел одно работающее решение в случае, если Firefox был использовать обновленный драйвер firefox.

  • Если ваши обновления firefox происходят автоматически, вы можете столкнуться с этой проблемой время от времени. Похоже, что ребята из Firefox развиваются слишком быстро, или им не нужна обратная совместимость.

  • Каждый раз, когда я вижу эту проблему в своих старых сценариях, я проверяю, изменилась ли версия firefox с тех пор - в большинстве случаев она.

  • Затем я перехожу к maven repo для reel-сервера selenium firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver и загружаю последнюю версию.

  • или обновите мой pom.xml(если используется maven) с новой версией драйвера firefox прямо сейчас - 2.40.0

  • Нет простого способа избежать этой проблемы, если вы явно не блокируете автоматическое обновление от firefox (вы можете сделать это (на Mac) в настройках - Advanced - Update - выберите "Проверить наличие обновлений, но позвольте мне выберите, устанавливать ли их" )

  • Если ваши сценарии работают в автоматическом режиме, вы можете отключить обновления. Однако это может создать другие проблемы. Поскольку большинство пользователей/пользователей могут включать обновления firefox по умолчанию. Таким образом, ваше приложение на самом деле не тестируется в каких-либо более поздних версиях.

Ответ 7

Обновить санильные банки, скачать селен 2.31.0

Эта проблема была решена ребятами селена

Это проблема совместимости.

Приветствия

Ответ 8

У меня был Firefox 47 и Selenium 2.53, и я получил ту же ошибку. Моим решением было изменение Firefox 47 до Firefox 46, проблема была решена.

Ответ 9

Проблема с script заключается в том, что среда, используемая для script, отличается от той, которая используется для ваших тестов, поэтому установка переменных среды там ничего не делает для ваших тестов.

Чтобы правильно установить переменную, вам нужно установить ее в Jenkins. Перейдите в Управление Jenkins > Управление узлами > Мастеp > Настроить. Установите флажок "Параметры среды", затем введите "DISPLAY" в поле "Имя" и установите значение: 1.0.

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

Ответ 10

Я также столкнулся с той же проблемой. Всякий раз, когда мы или webdriver открываем, браузер FF проверяет наличие обновлений, если таковые имеются. В этом случае я попытаюсь выполнить обновление во время выполнения, а затем вы получите сообщение об ошибке, даже если оно будет правильно обновлено только потому, что вы не обновили версию Selenium соответствующим образом.

Перейдите к " http://docs.seleniumhq.org/download/" и загрузите последнюю версию. Теперь идите и проверьте, проблема будет решена.:)

Ответ 11

Я получил ту же ошибку; Я использовал selenium-java версию 2.25.0 и Firefox vresion 18.0.2; Я изменил версию selenium-java до 2.30.0 и теперь работает.

Ответ 12

Для решения этой проблемы используйте новые файлы jar, доступные на http://docs.seleniumhq.org/download/. В соответствии с java, С#, php и т.д. Firefox 27.0.1 требует 2.39.0 версии драйвера.

Ответ 13

Просто установите плагин Xvnc в Jenkins. Проблема должна быть решена.

Ответ 14

Я получил ту же ошибку "selenium_Unable для подключения к хосту 127.0.0.1 на порт 7055" Решение. Я использовал selenium-java-2.48.2 с Firefox версии 43.0.1 и теперь хорошо работает.

Ответ 15

У меня тоже была такая же проблема, но проблема разрешилась после понижения версии firefox до 35.0.1, а моя версия selenium - 2.43

Ответ 16

У меня была такая же проблема, что и докеры, но я нашел решение в журнале, предшествующем упомянутой вами ошибке.

selenium_1  | 2016-11-11 11:19:34,498 DEBG 'xvfb' stderr output:
selenium_1  | (EE)
selenium_1  | Fatal server error:
selenium_1  | (EE) Server is already active for display 99
selenium_1  |   If this server is no longer running, remove /tmp/.X99-lock
selenium_1  |   and start again.
selenium_1  | (EE)

Я следил за советами, и проблема была устранена.

Ответ 17

Это происходит из-за старых версий. Просто обновите браузер до последней версии и обновите пакет selenium webdriver до последней версии.

Ответ 18

Так оно и было, когда я использовал статическое свойство IWebDriver и вызывал его из нескольких методов тестирования.

public class LanguageMenu
{
    private static IWebDriver drv;

    static LanguageMenu()
    {
       drv = Driver.Instance;
    }
    ...

    public static void English()
    {
        drv.FindElement(By.Id("mvc_lang_en"));
        el.Click();
    }

    public static void Rusian()
    {
        ...
    }

    ...
}

Как

 [TestMethod]
 public void Language_SwitchTo_English()
 {
     LanguageMenu.English();
     Assert.IsTrue(ContactPage.IsAt("Contact"));
 }

 [TestMethod]
 public void Language_SwitchTo_Rusian()
 {
     LanguageMenu.English();
     Assert.IsTrue(ContactPage.IsAt("Контакт"));
 }

Решение

Для каждого метода тестовых вызовов создайте новый экземпляр драйвера

 private static void English()
 {
            var drv = Driver.Instance;
            var el = drv.FindElement(By.Id("mvc_lang_en"));
            el.Click();
 }

Ответ 19

Обновите банки селена, если наш селен script не выполняется. В настоящее время я использую selenium-java-2.43.0-srcs

Теперь он отлично работает

Ответ 20

Это происходит в разных версиях ff. Я использую последнюю версию ff 39, используя selenium-server-standalone-2.41.0.jar и selenium-java-2.41.0.zip, который показывает ту же ошибку.

Получите последние серверные и клиентские файлы jar здесь для совместимости, я использовал серверные и клиентские версии 2.47.0 и 2.47.1 соответственно. И бум! Это сработало.

Ответ 21

Просто перезагрузите терминал. Терминал ничего не повесили. После этого все будет хорошо работать

Ответ 22

Добавление в базу знаний. У нас была такая же проблема на Bamboo. Проблема была решена с помощью свойств окружающей среды на бамбуке.

DISPLAY=":1"

Добавление значения в качестве системных свойств в файле pom.xml или в командной строке не работает.

Ответ 23

В Windows: Проверьте также "битту" вашего Firefox. Firefox 43.0.1 64bit не работает с Selenium 2.50.0. Хорошо работает с Firefox 43.0.1 32bit...

Ответ 24

Я тоже застрял в этой ошибке в течение трех дней и, наконец, понял это. Вы можете просмотреть ответ, который я дал здесь. Это совместимость с браузером и сервером селена вопрос. Я надеюсь, что эта помощь. Вы можете проверить совместимость браузера с эта ссылка

Ответ 25

У меня была такая же проблема сегодня. Чтобы исправить я понизил версию firefox от 51 до 47, и она работает.

Примечание. Я использую Linux Ubuntu Mate в виртуальной коробке, а хост - другой Ubuntu Mate. Все ОС - 64 бита и firefox.

Ответ 26

Установленный Firefox Setup 18.0.exe для меня работает

Ответ 27

У меня была такая же проблема с firefox 38.

После использования зависимостей в следующей версии я могу решить проблему.

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.53.0</version>
    </dependency> 

Ответ 28

Решение -

1) Обновите свой сервер Selenium, например, selenium jar "selenium-server-standalone-2.xx.x.JAR" TO "selenium-server-standalone-2.45.0.JAR"

2) Обновите свой клиентский драйвер Selenium, то есть папку selenium libs "selenium-java-2.xx.x" TO "selenium-java-2.45.0"

3) Проверьте и установите совместимую версию Firefox

Refer - Загрузить обновленные selenium libs и jar, то есть версию 2.45.0

Это ПОСТАНОВЛЯЕТ вашу проблему.. Приветствия!