这个部分将会阐释设置自动化测试运行的必要步骤,以及如何处理结果。
由创建一个处理Squish的测试结果的脚本开始(以XML格式输出),这个结果产生一个HTML文件,它包含的结果可以用web浏览区打开展示。然后创建一个自动运行的脚本,自动的将结果转换成HTML文件。
Ⅰ.19.1 处理测试结果
Ⅰ.19.1.1 处理XML测试结果
自动化测试运行的一个重要的部分是以可访问的格式展现测试结果,这样测试团队可以很快的找到发生的问题。Squish可以以XML格式保存测试结果,该格式适于随意处理。这个部分将会展示一个Python脚本,该脚本将Squish的XML格式的测试结果转换成HTML格式。
Squish使用XML意味着可以容易的将测试结果处理成适于其他工具使用的格式。这使得可以将Squish测试运行的结果集成到一个测试管理系统中。不管输出是HTML或者一些其他的格式,需要转换Squish的XML格式的数据的处理过程是一样的,因此尽管这个部分展示的是XML格式转成HTML格式,其中的理念和方法同样可以应用于其他类型的转换。
为了转换Squish的XML格式的结果,必须首先理解它的格式。
为了将事情具体化,来看一个由运行suite_py测试套件产生的XML测试结果文件,该测试套件只包含一个测试案例。该测试案例检查输入到addressbook AUT的数据是否与期望值一致。
为了产生XML报告,使用squishrunner运行测试套件,当然了squishrunner必须已经运行了:
squishrunner --testsuite suite_addressbook_py --reportgen xml2.1,/tmp/results.xml
正确的--reportgen值根据Squish的版本而定。Squish3.x 支持xml(老XML格式支持向后兼容,并不推荐),xml2(Squish 3推荐的XML格式),以及stdout(纯文本)。Squish 4 支持同样的格式,xml2.1(Squish 4推荐的XML格式)和xmljunit(JUnit测试输出,但没有Squish的原生XML格式信息量大)。
指定xml2.1格式,就得到一个类似下面展示的XML结果文件:
<?xml version="1.0" encoding="UTF-8"?>
<SquishReport version="2.1">
<test name="tst_general">
<prolog time="2010-10-11T15:55:27+01:00"/>
<verification line="13" type="" nam