У меня есть поле, где я запускаю тесты. Кажется, что Дженкинс выполнил бы 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)