当Selenium测试失败时让Jenkins构建失败

当Selenium测试失败时让Jenkins构建失败,selenium,ant,jenkins,Selenium,Ant,Jenkins,我已经为运行Selenium测试设置了Jenkins服务器。构建脚本是用Ant编写的(CentOS 6.3上的V1.7.1版),测试在Sauce实验室上运行。我通过shell执行构建: ant -buildfile build.xml 问题是,当一项测试失败时,詹金斯会将其标记为成功。我可以通过将haltonfailure设置为true来避免这种情况,请参见: <junit printsummary="yes" fork="false" haltonfailure="yes">

我已经为运行Selenium测试设置了Jenkins服务器。构建脚本是用Ant编写的(CentOS 6.3上的V1.7.1版),测试在Sauce实验室上运行。我通过shell执行构建:

ant -buildfile build.xml
问题是,当一项测试失败时,詹金斯会将其标记为成功。我可以通过将
haltonfailure
设置为
true
来避免这种情况,请参见:

<junit printsummary="yes" fork="false" haltonfailure="yes">
    <classpath refid="run.cp" />
    <formatter type="xml" usefile="true"    />
    <batchtest fork="no" todir="test-output/xml">
        <fileset dir="src/">
            <exclude name="**/*LocatorUtils*.java"/>
            <exclude name="**/*TestBase*.java"/>
            <exclude name="**/*TestUtils*.java"/>
            <exclude name="**/*Config*.properties"/>
        </fileset>
    </batchtest>
</junit>


然而,这并不理想,因为Jenkins将在遇到第一次失败时终止构建。是否可以在生成完成后检查失败,然后将其标记为失败?

junit
任务中,使用
failureproperty
属性。然后使用
除非
属性调用
失败
任务

进一步阅读:


构建失败时,将创建testng-failed.xml。您可以在workspace/testreport/BuildDirectory中找到此xml文件/

这里每次都创建BuildDirectory。您可以编写powershell脚本来检查是否创建了testng-failed.xml。如果生成成功,则不会创建此文件