Java 使用ant将jUnit与selenium测试分开,以串行方式而不是并发方式运行测试

Java 使用ant将jUnit与selenium测试分开,以串行方式而不是并发方式运行测试,java,unit-testing,ant,junit,selenium,Java,Unit Testing,Ant,Junit,Selenium,我有一个Ant任务,它运行我编写的一批测试用例,运行得非常好。。。Ant似乎忽略了和元素中的fork=“true”属性 以下是我的Ant任务: <target name="run_tests" depends="init"> <java jar="${dir.testLib}${seleniumJar}" fork="true" spawn="true"/> <junit fork="yes" haltonfailure="no" print

我有一个Ant任务,它运行我编写的一批测试用例,运行得非常好。。。Ant似乎忽略了
元素中的
fork=“true”
属性

以下是我的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.测试用例(Selenium和jUnit)一次运行一个
4.当我的键盘被闪电击中时,一朵乌云在我的立方体上徘徊-(

以下是我希望发生的事情的概要:
1.运行Ant任务
2.Ant任务生成一个线程来运行Selenium服务器
3.测试用例(Selenium和jUnit)同时启动

4.到处都是奖金,每个人都有5分和5分!

在我看来,您并不是在运行Selenium网格,它允许您并行运行测试(与网格中注册的远程控制一样多的并发“线程”)


这里有更多的信息:

我看到的一个解决方案,并且做得很好,就是创建一个SeleniumFactory。这将是您自己的类,每当您需要另一个web浏览器测试时,它都会生成一个新线程。这需要一些工作,但非常值得努力。

您的Selenium网格中有多少Selenium遥控器?或者您正在运行selenium本地?但你没有使用网格,是吗?看到我的答案了吗。顺便说一句,网格可以在本地运行,你只需要设置它并设置一组RCs。+1网格似乎是一个很好的工具,现在只要获得批准在我们的网络上使用它……你也可以在本地设置网格,并在本地机器上启动网格和远程控制。在哪里我的工作是,我们有时会这样做,但有一个服务器有一个网格和几个RCs已经启动(使用不同的环境)。