У меня есть написанная Java-программа, которая использует Selenium для активации и создания соединений через Firefox, и в настоящее время я пытаюсь запустить программу на отдельном сервере через SSH. Однако, хотя программа отлично работает на моей машине, когда я запускаю ее через SSH, я получаю сообщение об ошибке. Это конкретное сообщение, которое я получаю:Проблемы с Firefox с Selenium over SSH
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
at GoogleTestNineIndigoVersion.main(GoogleTestNineIndigoVersion.java:278)
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows:
Error: no display specified
Error: no display specified
Build info: version: '2.42.0', revision: '5e82430', time: '2014-05-22 20:18:33'
System info: host: 'video', ip: '130.63.94.246', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-573.3.1.el6.cse.x86_64', java.version: '1.8.0_91'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:130)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
at GoogleTestNineIndigoVersion.main(GoogleTestNineIndigoVersion.java:278)
Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
... 7 more
Из исследования я сделал я понимаю, что этот вопрос возникает потому, что, как правило, любой вариант Селена совместит только с тем, что были последние версии Firefox в то время. Большинство других людей, столкнувшихся с подобными проблемами, сказали обновить Selenium. Однако, поскольку я уверен, что у меня самая последняя версия Selenium (2.53.0), я предполагаю, что логическим решением будет обновление версии Firefox на сервере, на котором я пытаюсь запустить программу. К сожалению, сервер, на котором я пытаюсь запустить программу, является сервером моего университета (я создаю эту программу как часть моей летней работы, работаю на одного из моих профессоров, и они хотят, чтобы я запускал программу на сервере университета), и я, очевидно, не имею необходимых разрешений для обновления версии моего университета в Firefox.
Единственное другое решение, с которым я смог придумать, - использовать более старые версии Selenium, но это оказалось бесплодным. Как Selenium 2.42.0, так и Selenium 2.51.0 сталкиваются с той же проблемой при запуске SSH - последнее, в частности, заставляет меня задаться вопросом, действительно ли совместимость версий, учитывая, что из того, что я видел, предполагается Selenium 2.51.0 для работы с версией Firefox на серверах университета. Тем не менее, я рассмотрел другие проблемы, которые люди использовали Selenium для SSH, и только раз, когда я видел исключения, которые я получал, были проблемы с совместимостью версий.
Кто-нибудь знает, что я могу сделать, чтобы решить эту проблему? Версия Firefox на моем ноутбуке (которая работает как с Selenium 2.53.0, так и с 2.51.0, но сталкивается с теми же проблемами с 2.42.0, что и версия на сервере моего университета) - это версия 46.0.1, а версия на сервере моего университета (который не работает с какой-либо версией Selenium, которую я пробовал) является firefox-38.6.1-1.el6.centos.x86_64 (более подробная информация включена в случае, если они актуальны).
Как запускаются тесты ? Как настроить отображение на сервере CentOS вашего университета? 'Ошибка: никакой дисплей не указан * звучит как проблема с настройкой дисплея. – user2272115
вам нужно xvfb, google «running selenium headless linux» есть много инструкций для любого вкуса linux –
Я не запускаю тесты, но вместо этого использую Selenium для открытия Firefox и создания связей с различными веб-страницами (я могу подробнее остановиться если потребуется). Я не совсем уверен, как ответить на второй вопрос, который я боюсь - я просто передаю файл класса на сервер университета, а затем запускаю программу из командной строки, а не запускаю ее через Eclipse, как я бы хотел если бы я запускал программу на своем ноутбуке. – Siggy