Selenium Server を起動しようとすると Jenkins がハングする

Selenium Server を起動しようとすると Jenkins がハングする

Jenkins を使用してテスト スイートを実行し、Selenium Server を起動しようとしています。ジョブ構成では、ビルド ステップとして以下を含めました。

ここに画像の説明を入力してください

コマンドを実行すると、Jenkins は特定の時点でハングし、続行されません。

+ java -jar /var/lib/selenium/selenium-server-standalone-2.44.0.jar
22:21:00.572 INFO - Launching a standalone server
22:21:00.631 INFO - Java: Oracle Corporation 24.65-b04
22:21:00.631 INFO - OS: Linux 3.13.0-36-generic amd64
22:21:00.669 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
22:21:00.840 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: LINUX
22:21:00.941 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
22:21:00.942 INFO - Version Jetty/5.1.x
22:21:00.944 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
22:21:00.945 INFO - Started HttpContext[/selenium-server,/selenium-server]
22:21:00.945 INFO - Started HttpContext[/,/]
22:21:00.989 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5b7da0d1
22:21:00.989 INFO - Started HttpContext[/wd,/wd]
22:21:00.997 INFO - Started SocketListener on 0.0.0.0:4444
22:21:00.997 INFO - Started org.openqa.jetty.jetty.Server@2ce6a73d

コンソールで Selenium Server を起動すると、Jenkins ジョブは正常に完了します。

何か案は?

答え1

Jenkins はコマンドを順番に実行します。現在のコマンドが終了した後にのみ、次のコマンドに進みます。

ここで、Selenium を起動すると、フォアグラウンドで実行されます。これを終了しない限り、実行したコマンドは引き続き実行されます。これが、Jenkins がビルド内の他のコマンドを続行しない理由です。

Selenium が常に実行されるようにするには、Upstart または他のものを使用して Selenium を起動することをお勧めします。

関連情報