0

クライアントからサーバーのブラウザーを自動化するために Selenium を使用していますが、サーバーが起動時に自動的に Selenium を実行するようにしたいと考えています。

/etc/init に 3 つのファイルがあります。

プロキシサーバー.conf:

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

同じもので、「スクリプト」の内容のみを変更するproxyserver2.confproxyserver3.conf :

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

この方法で起動時にこのコマンドを実行すると、クライアントで Selenium を実行すると、次のエラーが表示されます。

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.

しかし、/etc/init で使用するのと同じコマンドをターミナルで実行すると、すべてが完全に機能します...なぜ?!

最後に、実行すると:

ps aux | grep selenium

サーバーが起動時にスクリプトを実行すると、次のようになります。

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

ターミナルで実行すると、次のようになります。

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

なぜ機能しないのですか?

ありがとう!!

4

1 に答える 1

0

chromedriver パスが間違っていると、このエラーが表示されます。RC コンソールが表示された場合は、chromedriver not found エラー メッセージが表示されます。

chromedriver 環境プロパティは、パラメータとして Selenium jar ファイルに渡す必要があります。

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

に変更する必要があります

exec java -jar selenium-server-standalone-2.20.0.jar -role node -port 2222 -hub http://192.168.1.12:1111 -browserName=chrome,maxInstances=5 -Dwebdriver.chrome.driver=/home/marco/selenium-client/chromedriver
于 2012-05-02T15:16:03.997 に答える