Führen Sie Selenium beim Start aus

1527
Mark Design

Ich verwende Selenium, um einen Browser in einem Server von einem Client aus zu automatisieren, aber ich möchte, dass der Server beim Start Selen automatisch ausführt.

Ich habe 3 Dateien in / etc / init:

proxyserver.conf:

respawn  start on runlevel [23] script exec java -jar selenium-server-standalone-2.20.0.jar -role hub -port 1111 end script 

proxyserver2.conf und proxyserver3.conf sind identisch und ändern nur den Inhalt von "script":

exec java -Dwebdriver.chrome.driver=/home/marco/selenium-client/chromedriver -jar selenium-server-standalone-2.20.0.jar -role node -port 2222 -hub http://192.168.1.12:1111 -browserName=chrome,maxInstances=5 

Wenn ich diese Befehle beim Start mit dieser Methode ausführte, wird beim Ausführen von Selenium auf dem Client der folgende Fehler angezeigt:

Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 

Wenn ich jedoch im Terminal dieselben Befehle ausführe, die ich in / etc / init verwende, funktioniert alles einwandfrei ... warum ?!

Eine letzte Sache, wenn ich ausführen:

ps aux | grep selenium 

wenn der Server die Skripte beim Start gibt es mir:

root 746 0.0 12.1 677080 124468 ? Ssl Apr23 8:10 java -Dwebdriver... root 749 0.0 12.7 685552 130280 ? Ssl Apr23 8.09 java -Dwebdriver... root 755 0.0 1.9 680168 20240 ? Ssl Apr23 8.08 java -jar selenium... 

Wenn ich im Terminal ausführe, gibt es mir:

1000 9764 6.6 3.0 679236 30992 pts/0 Sl+ 10.33 0:01 java -jar... 1000 9783 14.0 3.0 677112 31752 pts/1 Sl+ 10.33 0:01 java -Dwebdriver... 1000 9792 12.6 3.0 675472 30944 pts/2 Sl+ 10.34 0:01 java -Dwebdriver... 

Warum kann es nicht funktionieren?

Vielen Dank!!

0

1 Antwort auf die Frage

0
Álvaro Justen

Maybe the process created on init is missing some environment variables that you have when run by terminal (DISPLAY is one that Selenium will require to know in which display open the browser window).

Try putting this in your init script:

env DISPLAY=:0.0 

More info at upstart cookbook.