2016-03-11 12 views
5

Mam do czynienia z błędem Error: no display specified podczas uruchamiania testów gry w Jenkins na serwerze FreeBSD. Więc za każdym razem, gdy twarz z limitu czasuUruchamianie bezobsługowego firewalla Xvfb z Jenkinsem do uruchamiania testów selenu

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox

Jenkins ma:

1) Xvfb wtyczki zainstalowane

2) Play Framework zainstalowany

Testy są napisane przy użyciu biblioteki Selenku i selenek moduł do gry.

Xvfb skonfigurowany i włączony w konfiguracji zadania.

wyjście konsola pracy jest: konfiguracja

Checking out Revision 3f485bd2e3dbcfa058fc19f89ab18020e36707d8 (origin/trunk) 
... 
Xvfb starting$ /usr/local/bin//Xvfb :1 -screen 0 -fbdir /usr/local/jenkins/xvfb-9-786185694297443042.fbdir 
... 
Command detected: clean 
Command detected: deps --sync 
Command detected: precompile 
Command detected: auto-test 
[YalsTests] $ /srv/java/play/play clean 
... 
~ using java version "1.8.0_72" 
[YalsTests] $ /srv/java/play/play auto-test 
~ 14 tests to run: 
~ 
~ selenium/front/CorrectInput...   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 

    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:113) 
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271) 

Praca:

[X] Start Xvfb before the build, and shut it down after. 
Xvfb specific display name 1 
Xvfb display name offset 0 

Invoke Play Framework  
Command set  Play 1.x 
Goals 
    Clean project [clean] 
    Custom parameter 
     Custom command deps --sync 
    Precompile all Java sources and templates [precompile] 
    Automatically run all application tests [auto-test] 

Odpowiedz

1

Zadania selenu musi znać wyświetlacz, który powinien łączyć się. Możesz ustawić np. jako zmiennej środowiskowej (nie zapomnij go wyeksportować, jeśli robisz to w .profile)

export DISPLAY=:10 

To dla bash, inne pociski mogą potrzebować 2 etapowym procesie:

DISPLAY=:10 
export DISPLAY 

You można również określić zmienną w linii poleceń przed poleceniem:

DISPLAY=:10 java -jar mySelenium.jar 
0

można uniknąć wszystkie te kwestie za pomocą Selenoid projektu, który rozpoczyna bezgłowe przeglądarek równolegle Docker pojemników. Obrazy kontenerów są tworzone poprzez rozważenie kompatybilnej wersji webdrivera i przeglądarki. Zawierają również czcionki, flashplayer i tak dalej. Po prostu wybierz jedno z już istniejących images i uruchom testy. Nie trzeba instalować języka Java, aby uruchomić testy Selenium.

Powiązane problemy