0

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終了ではなく、ターゲットの後で実行を停止しました。

これを実行する方法はありますか、またはそれを達成するためのより良い方法はありますか?

4

1 に答える 1

1

ここで Mozilla チームのやり方を見てみましょう:

https://github.com/mozilla/moz-grid-config

グリッド 2 はその点で後方互換性があるため、彼らはまだグリッド 1 ノード ランチャーを使用していることに注意してください。しかし、ant でこれを処理する方法についてのアイデアが得られるはずです。

于 2011-09-14T14:30:45.350 に答える