Exécutez Selenium au démarrage

0

J'utilise Selenium pour automatiser un navigateur dans un serveur à partir d'un client, mais je souhaite que le serveur exécute le sélénium automatiquement au démarrage.

J'ai 3 fichiers dans / 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 et proxyserver3.conf qui sont la même chose et ne changent que le contenu du "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

Si j'exécute ces commandes au démarrage avec cette méthode, lorsque j'exécute Selenium sur le client, cela me donne l'erreur suivante:

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.

Mais si j'exécute dans le terminal les mêmes commandes que celles que je utilise dans / etc / init, tout fonctionne parfaitement ... pourquoi?!

Une dernière chose, si j'exécute:

ps aux | grep selenium

quand le serveur les scripts au démarrage ça me donne:

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...

quand j'exécute dans le terminal il me donne:

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...

Pourquoi ça ne marche pas?

Merci!!

Mark Design
la source

Réponses:

0

Peut-être que le processus créé sur init manque certaines variables d’environnement que vous avez lorsqu’il est exécuté par un terminal ( DISPLAYc’est une des choses que Selenium aura besoin de savoir dans quel affichage ouvrir la fenêtre du navigateur).

Essayez de mettre ceci dans votre script init:

env DISPLAY=:0.0

Plus d'infos sur le livre de cuisine upstart .

Álvaro Justen
la source