蚂蚁集成
Apache Ant 自动化软件构建过程。它与 make
类似,但它是用 Java 编写的,并且需要 Java 运行时环境来执行。Ant 的跨平台性相当于 Java 的跨平台性,非常适合用于构建 Java 项目。
Ant 的 Squish 插件允许从 Ant 构建文件运行 Squish 测试。
获取 Ant 插件
Ant 插件可以从以下位置获得:https://resources.qt.io/hubfs/Squish/squish-ant-plugin_latest.zip
安装 Ant 插件
解压 zip 归档后,您可以通过以下方式安装 Ant 插件
- 将 jar 文件复制到
ANT_HOME/lib
。这通常需要管理员权限。 - 将 jar 文件复制到
USER_HOME/.ant/lib
。 - 调用
ant
时,使用-lib
选项指定包含 Squish 插件的文件夹。
有关安装外部 Ant 库的更多信息,请参阅 Ant 安装手册。
使用 Ant 插件
以下是一个典型的 Ant build.xml
文件
<project name="MyProject" basedir="." xmlns:squish="antlib:com.froglogic.squish.ant"> <description> simple example build file </description> <!-- set global properties for this build --> <property name="src" location="src" /> <property name="build" location="build" /> <property name="dist" location="dist" /> <target name="init"> <!-- create the time stamp --> <tstamp /> <!-- create the build directory structure used by compile --> <mkdir dir="${build}" /> </target> <target name="compile" depends="init" description="compile the source"> <!-- compile the Java code from ${src} into ${build} --> <javac srcdir="${src}" destdir="${build}" includeantruntime="false" /> </target> <target name="dist" depends="compile" description="generate the distribution"> <!-- create the distribution directory --> <mkdir dir="${dist}/lib" /> <!-- put everything in ${build} into the MyProject-${DSTAMP}.jar file --> <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}" /> </target> <target name="test" depends="compile" description="run the tests"> <squish:runtest suite="C:\Squish\examples\qt\addressbook\suite_py" path="C:\Squish" /> </target> <target name="clean" description="clean up"> <!-- delete the ${build} and ${dist} directory trees --> <delete dir="${build}" /> <delete dir="${dist}" /> </target> </project>
要使用插件功能,构建文件必须指定 squish
命名空间。例如
<project name="MyProject" basedir="." xmlns:squish="antlib:com.froglogic.squish.ant"> <description> simple example build file </description> ...
在这种情况下,可能有必要将 Squish 测试作为单独的目标进行运行,如下所示
... <target name="test" depends="compile" description="run the tests"> <squish:runtest suite="C:\Squish\examples\qt\addressbook\suite_py" path="C:\Squish" /> </target> ...
当使用目标 test
运行 Squish 测试时,将产生以下输出(以上示例)
$ ant test Buildfile: C:\ant-test\build.xml init: compile: test: [squish:runtest] Squish Ant Plugin version 5.0 [squish:runtest] Tests run : 3, Failures : 0, Errors : 0, Fatals : 0 [squish:runtest] Running test cases took 17 seconds BUILD SUCCESSFUL Total time: 20 seconds
Ant 插件 XML 参考
本节提供了在安装 Ant 插件后可以使用的基础标签的概述。
squish:config
可以使用 squish:config
标签作为设置运行测试时应该使用的 Squish 安装路径的便捷方式。下表显示了可以使用的属性
属性 | 描述 |
---|---|
path | Squish 根目录的绝对路径。 |
host | 运行 squishserver 的主机名。省略此属性可以由插件自动启动 squishserver。 |
port | squishserver 监听的端口号。省略此属性可以由插件自动启动 squishserver。 |
snoozefactor | 运行 Squish 测试时要使用的 snooze 因子,默认为 1。 |
reportdir | 弃用 测试报告应输出的目录,仅用于向后兼容。要生成报告,请改用 squish:report 元素。 |
webbrowser | 执行 Web 测试时要使用的浏览器。支持的值列在 squishrunner 的 --webbrowser 选项中,位置在 执行测试用例(高级)。 |
webbrowserargs | 执行 Web 测试时传递给使用的浏览器的命令行参数。 |
以下是在 Ant 构建文件中使用 squish:config
标签的示例
<project name="MyProject" basedir="." xmlns:squish="antlib:com.froglogic.squish.ant"> <squish:config path="C:\Squish" /> ...
如果像上面的示例那样在文件开头使用 squish:config
标签,则设置的路径将用于所有目标中的 Squish 测试。为了更精细的控制,可以在目标容器内部使用 squish:config
标签,此时路径仅适用于该容器中的测试。
注意:您还可以在squish:runtest
标签中设置Squish路径,但如果要运行许多Squish测试并且它们都使用相同的Squish安装,则使用squish:config
标签会更方便。
squish:runtest
以下表格显示了可以使用的属性
属性 | 描述 | 必需 |
---|---|---|
套件 | 要运行的Squish套件的绝对路径。 | 是 |
测试用例 | 已弃用要运行的一组测试用例(从套件中选择),仅为了向后兼容。要运行整个测试套件,请省略此属性。要显式指定应执行的测试用例,请使用squish:testcase元素。 | 否 |
path | Squish 根目录的绝对路径。 | 如果没有在squish:config 标签中设置。 |
host | 运行squishserver的机器的计算机名。省略此参数以让插件自动启动squishserver。 | 否 |
port | squishserver监听的端口号。省略此参数以让插件自动启动squishserver。 | 否 |
snoozefactor | 运行 Squish 测试时要使用的 snooze 因子,默认为 1。 | 否 |
resultdir | 保存测试结果的目录的绝对路径,对应于squishrunner的--resultdir ,在执行测试用例(高级)中有文档说明。 | 否 |
webbrowser | 执行 Web 测试时要使用的浏览器。支持的值列在 squishrunner 的 --webbrowser 选项中,位置在 执行测试用例(高级)。 | 否 |
webbrowserargs | 执行 Web 测试时传递给使用的浏览器的命令行参数。 | 否 |
haltonerror | 当发生测试错误或测试严重错误时是否停止构建,默认值为false 。 | 否 |
haltonfailedverification | 当测试验证失败时是否停止构建,默认值为false 。 | 否 |
注意:squish:runtest
标签中设置的属性将覆盖squish:config
标签中设置的属性。
以下是在Ant构建文件中使用squish:runtest
标签的示例
<project name="MyProject" basedir="." xmlns:squish="antlib:com.froglogic.squish.ant"> ... <target name="test" depends="compile" description="run the tests"> <squish:runtest suite="C:\Squish\examples\qt\addressbook\suite_py" path="C:\Squish" /> </target> ...
为了让squish:runtest
标签正常工作,suite
属性必须指示一个有效的Squish套件。此外,必须知道用于运行测试的Squish安装的绝对路径,可以通过使用squish:runtest
标签的path
属性或squish:config
标签的path
属性来实现。当ant过程运行Squish测试时,它会等待测试完成。结果会报告在标准输出上(例如,控制台)。
squish:testcase
squish:testcase
标签可以用于显式指定哪些测试用例应被执行。它必须是squish:runtest
标签的子标签。
以下是在Ant构建文件中使用squish:testcase
标签的示例
<project name="MyProject" basedir="." xmlns:squish="antlib:com.froglogic.squish.ant"> ... <target name="test" depends="compile" description="run the tests"> <squish:runtest suite="C:\Squish\examples\qt\addressbook\suite_py" path="C:\Squish" <squish:testcase>tst_adding</squish:testcase> <squish:testcase>tst_general</squish:testcase> </squish:runtest> </target> ...
squish:report
squish:report
标签可以用于指定要生成哪些报告。
属性 | 描述 | 必需 |
---|---|---|
格式 | 要生成的报告格式。在执行测试用例(高级)中指出,列出了squishrunner的--reportgen 选项的受支持值。 | 是 |
以下是在Ant构建文件中使用squish:report
标签的示例
<project name="MyProject" basedir="." xmlns:squish="antlib:com.froglogic.squish.ant"> ... <target name="test" depends="compile" description="run the tests"> <squish:runtest suite="C:\Squish\examples\qt\addressbook\suite_py" path="C:\Squish" <squish:testcase>tst_adding</squish:testcase> <squish:testcase>tst_general</squish:testcase> <squish:report format="xml2.2">C:\xml_reports\addressbook.xml</squish:report> <squish:report format="xmljunit">C:\junit_reports\addressbook.xml</squish:report> </squish:runtest> </target> ...
©2024Qt公司有限公司。本文档中包含的贡献文档属于各自的版权所有者。
本文档是根据GNU自由文档许可协议版本1.3的条款授予的,由自由软件基金会发布。
Qt和相应的标志是芬兰和其他国家的Qt公司的商标。所有其他商标都是其各自所有者的财产。