1

我正在使用 Ant 运行 SoapUI 项目以获取 JUnit 报告。

这是我的 build.xml:

<project basedir="." default="testreport" name="APIAutomation">
<target name="SoapUI">
    <exec dir="." executable="C:\Program Files (x86)\SmartBear\SoapUI-5.0.0\bin\testrunner.bat">
        <arg line="-r -j -a -f 'C:\Users\F3020722\Desktop\Notification\New folder' -sFirstLoginTest 'C:\Users\F3020722\Desktop\Notification\New folder\APIRegression.xml'"></arg>
    </exec>
</target>
<target name="testreport" depends="SoapUI">
    <junitreport todir="C:\Users\F3020722\Desktop\Notification\New folder\API">
        <fileset dir="C:\Users\F3020722\Desktop\Notification\New folder\API">
            <include name="TEST-*.xml"/>
        </fileset>
        <report format="frames"
            todir="C:\Users\F3020722\Desktop\Notification\New folder\reports\html">
        </report>
    </junitreport>
</target>
</project>

我正在正确获取 XML 报告。但是,JUnit 报告是空的。all包含 0 并且successrateNan.

任何人都可以检查 build.xml 是否正确?

4

1 回答 1

2
  • 看起来构建脚本似乎没问题
  • 避免目录名称中的空格
  • 即使在 Windows 上也可以使用像 unix 样式这样的正斜杠
  • 在构建脚本中使用属性文件或属性,这样其他成员就不会编辑构建脚本,因为路径可能会在机器之间更改。
  • 现在,在下面的脚本中添加了属性,您也可以外部化到属性文件。

构建.xml

<project basedir="." default="testreport" name="APIAutomation">
   <property name="test.suite" value="FirstLoginTest"/>
   <property name="soapui.project" value="C:/Users/F3020722/Desktop/Notification/New folder/APIRegression.xml"/>
   <property name="soapui.home" value="C:/Program Files (x86)/SmartBear/SoapUI-5.0.0"/>
   <property name="results.dir" value="C:/Users/F3020722/Desktop/Notification/API/Results"/>
   <property name="reports.dir" value="${results.dir}/Reports"/>
   <property name="html.dir" value="${reports.dir}/html"/>
   <target name="execute.project">
     <exec dir="${soapui.home}/bin" executable="testrunner.bat">
        <arg line="-raj -f ${results.dir} -s ${test.suite} ${soapui.project}" />
     </exec>
  </target>
   <target name="testreport" depends="execute.project">
        <mkdir dir="${reports.dir}"/>
            <junitreport todir="${reports.dir}">
                <fileset dir="${results.dir}">
                    <include name="TEST-*.xml"/>
                </fileset>
                <report format="frames" todir="${html.dir}" />
            </junitreport>
   </target>
</project>

您还可以找到一个用于 soapui 的 docker 映像并运行测试并生成 junit 样式的 html 报告。参考soapui存储库@hub.docker.com

注意:使用 docker 镜像的构建脚本除了机器路径外与上面完全相同。

于 2017-03-31T18:15:00.130 回答