2011-02-25 58 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。这将是你自己的班级,每次你需要另一个网络浏览器测试时都会产生一个新的线程。它需要一点工作,但非常值得努力。