我正在修改我們現有的Selenium Grid安裝程序,以便它能夠與Selenium 2一起工作。設置集線器和節點的過程似乎更簡單,但我遇到了讓它在Ant中運行的問題建立我以前的方式。如何從Ant構建運行Selenium 2 Grid?
我已閱讀了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
任務運行。這導致螞蟻在start-hub
目標之後停止執行,而不是完成。
有沒有辦法讓我這個跑步,還是有更好的方法來完成它?