第六章 TestNG深入讲解及测试报告输出(上)

------Web自动化测试之Webdriver+TestNG--从零到熟练(系列)

  

 TestNG用来管理测试用例的是testng.xml配置文件,我们可以通过配置这个文件来达到组织测试用例,输出测试报告的效果。下面我们先详细讲解一个这个配置文件,然后再讲解测试报告的输出。

6.1 testng.xml文件的配置

Testing.xmlTestNG的配置文件,拥有强大的功能,可以根据需要来配置测试用例的运行。具体参数有:

name

suite的名字(他会出现在测试报告中)

junit

是否以junit模式运行

verbose

在控制台中如何输出,这个设置不影响html版本的测试报告

parallel

是否使用多线程测试(可能加速测试)

configfailurepolicy

是否在运行失败了一次后继续尝试或跳过

thread-count

如果设置了parallel,可以设置线程数

annotations

‘javadoc’的时候寻找,没有的话使用jdk5的注释

time-out

在终止method (如果parallel="methods") 或者

test (如果parallel="tests")之前设置以毫秒为单位的等待时间

skipfailedinvocationcounts

是否跳过失败的调用

data-provider-thread-count

提供一个整数线程池的范围为了使用parallel data

object-factory

一个继承IObjectFactory的类,被用来实例化测试对象

allow-return-values

如果设置true,将会运行测试用例并返回值

详细讲解,请参考:http://www.cnblogs.com/choosewang/articles/3079983.html,而各个参数的具体取值及结构,可以参考:http://testng.org/testng-1.0.dtd.php。而这里我们只讲最常用的几个参数。

(1)Testng默认内容讲解

当我们创建一个TestNG类后,会默认创建一个testng.xml文件,文件的内容如下:

第六章 <wbr>TestNG深入讲解及测试报告输出(上)

Ø  Suite name标识测试集的名字,这个名字会在测试报告中显示。

Ø  Suite parallel 是否并行运行测试用例,这个在多线程中会用到,false为不允许多线程。

Ø  Test name 测试工程的名字,一个测试工程可以包含多个测试类,一个测试类中可以包含多个测试方法。

Ø  通常我们添加测试方法的办法是添加classes节点,当然也可以添加更多的测试工程和测试集。

例如:

第六章 <wbr>TestNG深入讲解及测试报告输出(上)

(2)Testng常用参数讲解

上面默认的参数已经讲解过了,此处不在累述,下面几个参数也是比较常用的:

Ø  Configfailurepolicy 设置如何处理失败的测试用例,取值为skip | continueskip为失败后跳过这个测试用例;continue 为失败后重跑这个测试用例。由于一些儿测试用例会遇到偶然的现象导致失败,所以我们通常会设置成失败重跑。

Ø  thread-count 线程数,当我们设置了并行运行后,这里设置并行的数量。并行的单位可以是测试用例,测试类或是测试实例等。

Ø  skipfailedinvocationcounts 是否跳过失败的调用,如果不跳过,可能会导致测试用例的死锁。

Ø  preserve-order true|false测试用例是否顺序执行,如果设置成False,则测试用例随机执行。

Ø  常用的结点

第六章 <wbr>TestNG深入讲解及测试报告输出(上)
  Methods 节点定义在一下测试用例中测试方法有哪些儿执行include,哪些儿不执行exclude。虽然我们建议在一个测试用例中要尽量包含少的测试方法,但是有些儿测试用例中也会包含很多相关的测试方法,有些儿测试场景不适合执行一些儿方法,所以就可以用此节点来进行定制。

(3)一个常用的Testng.xml实例

Testng.xml的结点太多了,有很多我们用不到,请看一个比较完成整的讲解:http://blog.csdn.net/five3/article/details/25907693

而我们现在要讲解的是一个比较简单,但是很实用的实例,具体内容如下:

第六章 <wbr>TestNG深入讲解及测试报告输出(上)

文件讲解:

Ø  Suite相关:此suite名字为TestDemo,包含了一个测试工程Test,四个测试文件。

Ø  Suite设置:测试用例以test为单位并行执行,一次并行3个测试用例,测试用例执行的顺序是顺序执行,遇到失败的测试用例进行重跑,遇到失败的调用则跳过。

Ø  HelloTom测试用例中包含了两个测试函数,但是在此测试集中,只执行saygoodbyehavelunch不执行。

这些设置虽然很少,不过可以应付日常的测试需要了,如果有特殊化的需要,可以去网上查询,相关的文章相当多的。

(4)我们第五章中讲到了两个测试用例LoginDemo.javaLoginTest.java,此时我们的Testng.xml应该写成如下:

第六章 <wbr>TestNG深入讲解及测试报告输出(上)
    通过这样填写我们的Xml配置文件,就可以一起执行这两个测试用例了,运行的方法是:右击“testng.xml->”Run As”à”TestNG suite”,则程序就会顺序执行这两个测试用例文件,并输出对应的结果。

 

posted @ 2015-06-16 16:59  潜龙9527  阅读(661)  评论(0编辑  收藏  举报