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