2011-02-25 25 views
2

我有一個Ant任務,它運行一批我寫過的測試用例,它運行得非常好......除了Ant似乎忽略了fork="true"屬性在<junit><batchtest>元素中。使用螞蟻的硒測試分叉jUnit連續運行測試,不是同時發生的

這裏是我的Ant任務:

<target name="run_tests" depends="init"> 
    <java jar="${dir.testLib}${seleniumJar}" fork="true" spawn="true"/> 
    <junit fork="yes" haltonfailure="no" printsummary="no"> 
     <classpath refid="test.classpath"/> 
    <batchtest todir="${test.reports}/acceptance/gui" fork="true"> 
    <fileset dir="${dir.classes}"> 
       <include name="**/*TestCase.class" /> 
     <include name="**/*Test.class" /> 
     <include name="**/Test*.class" /> 
     <exclude name="**/AbstractSeleneseTestCase.class"/> 
    </fileset> 
    </batchtest>  
     <formatter type="xml" /> 
    <classpath refid="test.classpath" /> 
</junit> 
    <junitreport todir="${test.reports}/acceptance/gui">  
     <fileset dir="${test.reports}/acceptance/gui"> 
      <include name="TEST-*.xml" /> 
     </fileset> 
     <report todir="${test.reports}/acceptance/gui" /> 
    </junitreport> 
</target> 

它採取8+分鐘跑我的測試案例之一 - 在 - 一時間,這完全是太長了。我注意到使用硒的其他吸血鬼,這是使用該項目的另一個細微差別嗎?

這裏是正在發生的事情的梗概:
1.運行Ant任務
2. Ant任務產生一個線程來運行Selenium服務器
3.測試用例(硒和JUnit)正在運行一個AT-
1.運行Ant任務
2:一個時間
4,我的鍵盤被閃電;-(

這裏是我所希望發生的概要來襲烏雲縈繞在我的立方體。 Ant任務產生一個線程來運行Selenium服務器
3.測試案例(Selenium和jUnit)同時發佈
4.爲所有人提供全方位和高五個獎項以及背部拍杆!

+0

Selenium Grid中有多少個Selenium遙控器?或者你在本地運行硒? – Argote 2011-02-25 19:26:47

+0

我在本地運行Selenium – bakoyaro 2011-02-25 19:28:29

+0

但是你沒有使用Grid嗎?看到我的答案。順便說一句,網格可以在本地運行,你只需要設置它並設置一堆RC。 – Argote 2011-02-25 19:30:30

回答

3

在我看來,您並沒有運行Selenium Grid,它允許您在Parallel中運行測試(如同您在網格中註冊Remote Control一樣多的併發「線程」)。

下面是詳細信息:http://selenium-grid.seleniumhq.org/

+0

+1網格似乎是一個偉大的工具,現在只是爲了獲得批准在我們的網絡上使用它... – bakoyaro 2011-02-25 20:02:47

+0

您也可以在本地設置網格,並在本地計算機上啓動網格和遠程控制。在我工作的地方,我們有時會這樣做,但有一臺服務器擁有一個網格和幾個RC(已經使用不同的環境)。 – Argote 2011-02-25 20:14:02

0

一個解決方案,我所看到的,並且做得很好提個醒,正在創造一個SeleniumFactory。這將是你自己的班級,每次你需要另一個網絡瀏覽器測試時都會產生一個新的線程。它需要一點工作,但非常值得努力。