Mam pudełko, w którym przeprowadzam testy. Wygląda na to, że Jenkins włączyłby ssh i wykonał polecenia opisane w konkretnym uruchomionym zadaniu.
Tutaj próbuję uruchomić moje testy Selenium Webdriver, ale mówi mi, że mam błędy podczas uruchamiania Firefoksa. Ostatecznym pomysłem jest uruchomienie testów internetowych w całości na tym pudełku, a także wykonanie kilku zrzutów ekranu z błędami.
Używam selenium-java-2.25.jar, firefox 10, linux OS.
Zabawne jest to, że mogę ręcznie wpisać ssh do pudełka, tymczasowo skopiować magiczne ciasteczko od innego użytkownika na pudełko (aby uzyskać tunel X), zrobić export DISPLAY=mydisplay:1.0
, a następnie uruchomić moje testy selenu za pomocą mrówka. Spowoduje to wyświetlenie programu Firefox i testy będą w porządku.
Są tutaj różne wątki, które wydają się mieć dokładnie 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.
Umieściłem skrypt bash w Jenkins, aby uruchomić go przed uruchomieniem testów selenu. Skrypt bash po prostu wykonuje plik
export DISPLAY=mydisplay:1.0
. Wykonuje równieżxclock
. Działa to tak, jak widzę xclock wyświetlany w VNC.iptables zostały wyłączone
Firefox jest poprawnie umieszczony w / usr / bin / firefox
sshd_config pokazuje, że X11Forwarding jest prawdziwe.
Podobno obniżenie wersji Firefoksa pomogło niektórym osobom, ale nie chcę tego robić. Webdriver i tak powinien obsługiwać FF 10.
Jednak żadne z powyższych nie rozwiązuje problemu.
Wygląda na to, że port 7055 na hoście lokalnym w ogóle nie istnieje:
netstat -an | grep 7055
- Nic się nie drukuje
Oto, co mówi mój / etc / hosts:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
Może ma to coś wspólnego z hostem lokalnym: 7055 nie istnieje? Nie jestem pewien, dokąd się stąd udać. nadal, dlaczego w danych wyjściowych błędu jest napisane, że szuka, display: :0.0
kiedy określiłem mydisplay:1.0
?
I na koniec komunikat o błędzie, który otrzymuję:
[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)