Selenium beim Start ausführen

Selenium beim Start ausführen

Ich verwende Selenium, um einen Browser in einem Server von einem Client aus zu automatisieren, möchte aber, dass der Server Selenium beim Start 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.confUndproxyserver3.confdie dasselbe sind und nur den Inhalt des „Skripts“ ändern:

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ühre und Selenium auf dem Client ausführe, erhalte ich diesen Fehler:

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.

Aber wenn ich im Terminal dieselben Befehle ausführe, die ich in /etc/init verwende, funktioniert alles perfekt ... warum?!

Eine letzte Sache, wenn ich ausführe:

ps aux | grep selenium

wenn der Server die Skripte beim Start ausführt, bekomme ich Folgendes angezeigt:

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 es im Terminal ausführe, erhalte ich Folgendes:

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 funktioniert es nicht?

Danke!!

Antwort1

Möglicherweise fehlen dem beim Initialisieren erstellten Prozess einige Umgebungsvariablen, die bei der Ausführung über das Terminal verfügbar sind (dies DISPLAYist eine Variable, die Selenium benötigt, um zu wissen, in welcher Anzeige das Browserfenster geöffnet wird).

Versuchen Sie, Folgendes in Ihr Init-Skript einzufügen:

env DISPLAY=:0.0

Mehr Infos unterEmporkömmling Kochbuch.

verwandte Informationen