Selenium 2 で動作するように、既存の Selenium Grid セットアップの変更に取り組んでいます。ハブとノードをセットアップするプロセスははるかに簡単に思えますが、Ant ビルドで実行するのに問題があります。私が以前にした方法。
Selenium 2 Grid のwikiを読み、それに応じて Ant ビルドをセットアップしようとしました。私の問題は、最初のターゲットが実行され、ハブが開始されることです。その後、他のターゲットは実行されませんが、ビルドは完了します。Selenium 1 (RC) Junit テストと TestNG をテスト ランナーとして使用して、自分のマシンでこれらを実行しようとしています。
私が持っているターゲットは次のとおりです。
<taskdef resource="testngtasks" classpath="testng-${testng.version}.jar" />
<target name="start-hub" description="Start the Selenium Grid hub">
<java classpathref="runtime.classpath"
jar="${basedir}/selenium-server-standalone-${server.version}.jar"
fork="true"
spawn="true">
<arg value="-v" />
<arg value="-role" />
<arg value="hub" />
</java>
</target>
<target name="start-node"
description="Start the Selenium Grid node"
depends="start-hub">
<java classpathref="runtime.classpath"
jar="${basedir}/selenium-server-standalone-${server.version}.jar"
fork="true"
spawn="true">
<arg value="-role" />
<arg value="rc" />
<arg value="-hub" />
<arg value="http://localhost:4444/grid/register" />
<arg value="-port" />
<arg value="5555" />
<arg value="-browser" />
<arg value="browserName=firefox,version=3.6,maxInstances=5,platform=WINDOWS"/>
</java>
</target>
<target name="run-tests" description="Run the tests" depends="start-node">
<testng classpathref="runtime.classpath"
haltonfailure="true">
<sysproperty key="java.security.policy"
file="${grid.location}/lib/testng.policy" />
<arg value="testng.xml"/>
</testng>
</target>
最初のターゲットが実行された後、Ant スレッドが終了したようです。exec
以前のグリッドのように、新しいウィンドウでそれらを開始する方法を調べましたが、タスクを除いてそれを行う方法がわかりませんでした. また、ハブをexec
タスクで実行し、ノードをjava
タスクとして実行してみました。その結果、ant ビルドは、start-hub
終了ではなく、ターゲットの後で実行を停止しました。
これを実行する方法はありますか、またはそれを達成するためのより良い方法はありますか?