Webdriver Nie można połączyć się z hostem 127.0.0.1 na porcie 7055 po 45000 ms

Mam pudełko, w którym przeprowadzam testy. Wygląda na to, że Jenkins uruchamia ssh i wykonuje polecenia opisane w konkretnym uruchomionym zadaniu.

Tutaj próbuję uruchomić testy Selenium Webdriver, ale mówi mi, że mam błędy w uruchomieniu firefox. Ostatecznym pomysłem jest całkowite uruchomienie testów internetowych w tym polu, a także zrobienie zrzutów ekranu błędów.

Używam selenium-java-2.25.jar, firefox 10, linux OS.

Zabawne jest to, że mogę ssh ręcznie w polu, tymczasowo skopiować magiczny plik cookie od innego użytkownika na polu (aby uzyskać tunel X), wykonajexport DISPLAY=mydisplay:1.0, następnie rozpocznij testy selenu za pomocą ant. A to wywoła firefox i testy będą w porządku.

Są tu różne wątki, które wydają się mieć ten sam problem i myślę, że wypróbowałem większość z nich. Oto co zrobiłem:

Uruchom ponownie skrzynkę, zaloguj się ponownie za pomocą VNC.

Umieszczono skrypt bash w Jenkins, aby uruchomić go przed uruchomieniem testów selenu. Skrypt bash po prostu robiexport DISPLAY=mydisplay:1.0. Działa równieżxclock. Działa to, ponieważ widzę, że xclock jest wyświetlany w VNC.

iptables zostały wyłączone

firefox jest poprawnie zlokalizowany w / usr / bin / firefox

sshd_config pokazuje, że przekazywanie X11 jest prawdziwe.

Podobno obniżenie firefoxa pomogło niektórym ludziom, ale nie chcę tego robić. Webdriver i tak powinien obsługiwać FF 10.

Jednak żaden z powyższych nie rozwiązuje problemu.

Wygląda na to, że port 7055 na localhost nawet nie istnieje:

netstat -an | grep 7055 - Nic nie drukuje

Tak mówi mój plik / etc / hosts:

  1 127.0.0.1               localhost.localdomain localhost
  2 ::1             localhost6.localdomain6 localhost6

Być może ma to coś wspólnego z localhost: 7055 nie istnieje? Nie jestem pewien, skąd stąd pójść. nadal, dlaczego wyjście błędu mówi, że szukadisplay: :0.0 kiedy określiłemmydisplay:1.0?

I na koniec otrzymuję komunikat o błędzie:

[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)

questionAnswers(28)

yourAnswerToTheQuestion