1

我已经设置了一个 Jenkins 服务器来运行 Selenium 测试。构建脚本是用 Ant(CentOS 6.3 上的 v 1.7.1)编写的,测试在 Sauce Labs 上运行。我通过 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 将在遇到第一次失败时终止构建。是否可以在构建完成后检查失败然后将其标记为失败?

4

2 回答 2

2

On the junit task, use the failureproperty attribute. And then call the fail task with an unless attribute.

Further reading:

于 2013-05-28T13:03:12.767 回答
1

当构建失败时,会创建 testng-failed.xml。您可以在工作区/Test Report/BuildDirectory/ 中找到此 xml 文件

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

于 2013-05-29T12:20:56.810 回答