Execute o Selenium na inicialização

0

Estou usando o Selenium para automatizar um navegador em um servidor de um cliente, mas quero que o servidor execute o selênio automaticamente na inicialização.

Eu tenho 3 arquivos em / 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 e proxyserver3.conf que são a mesma coisa e alteram apenas o conteúdo de "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

Se eu executar esses comandos na inicialização com esse método, quando eu executar o Selenium no Client, isso me dará este erro:

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.

Mas se eu executar no terminal os mesmos comandos que eu uso em / etc / init, tudo funciona perfeitamente ... por que?!

Uma última coisa, se eu executar:

ps aux | grep selenium

quando o servidor os scripts na inicialização me dá:

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

quando executo no terminal me dá:

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

Por que não funciona?

obrigado !!

    
por Mark Design 02.05.2012 / 10:47

1 resposta

0

Talvez o processo criado no init esteja faltando algumas variáveis de ambiente que você tem quando executado pelo terminal ( DISPLAY é aquele que o Selenium precisará saber em qual tela abrir a janela do navegador).

Tente colocar isso no seu script de inicialização:

env DISPLAY=:0.0

Mais informações em livro de receitas upstart .

    
por 06.05.2012 / 22:59