2011-08-31 31 views
0

我正在修改我們現有的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目標之後停止執行,而不是完成。

有沒有辦法讓我這個跑步,還是有更好的方法來完成它?

回答

1

看看Mozilla的團隊確實在這裏順便說一句:

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

注意,他們仍然使用網格1點發射,由於電網2在這方面是向後兼容的。但它應該給你一個如何在螞蟻中處理這個問題的想法。