上一篇我们说额过于笼统。这里按照个人理解详细说一下这个TestNG到底是干嘛用的。
TestNG是一个测试框架,那么他能实现什么功能呢?
首先可以管理我们的测试类测试方法等。还可以控制测试方法是否并行。在一个类里的测试方法的选择使用,提供数据的驱动,提供测试报告等等。
下面我们就来说一下几个常用的注释
@BeforeSuite:在此套件中的所有测试都运行之前,将运行带注释的方法。
@AfterSuite:在此套件中的所有测试都运行后,将会运行带注释的方法。
@BeforeTest:将在运行属于<test>标记内的类的任何测试方法之前运行带注释的方法。
@AfterTest:在所有属于<test>标签内的类的测试方法都运行之后,将运行带注释的方法。
@BeforeGroups:此配置方法将在之前运行的组列表。该方法保证在第一个属于这些组中的任何一个的测试方法被调用之前运行。
@AfterGroups:此配置方法将在之后运行的组列表。此方法保证在调用属于这些组中的最后一个测试方法后不久运行。
@BeforeClass:注释的方法将在当前类中的第一个测试方法被调用之前运行。
@AfterClass:在当前类的所有测试方法都运行之后,将会运行带注释的方法。
@BeforeMethod:注解的方法将在每个测试方法之前运行。
@AfterMethod:在每个测试方法之后将运行注释的方法。
以上所有的注释都是在java的测试代码中使用的。
这个很简单我在这里就不写例子了。
下面在说一下配置文件xml的几个参数。
name : suite的名字(他会出现在测试报告中)
junit :是否以junit模式运行
verbose :在控制台上如何输出,这个设置不会影响到html版本的报告
parallel :是否使用多线程测试
configfailurepolicy: 是否在运行失败一次后继续尝试或跳过
thred-count : 如果设置了parallel可以设置线程数
annotations : 有javadoc的时候寻找没有的时候使用jdk5的注释
time-out :在终止method(如果parallel="methods")或者test(如果parallel="tests")之前设置了以毫秒为单位的等待时间
skipfailedinvocationcounts :是否跳过失败调用
data-provider-thread-coun :提供一个整数线程池的范围为了使用 parallel data
object-factory :一个继承IObjectFactory 的类,被用来实例化测试对象
allow-return-values :如果设置为true,将会运行测试用例并返回值
这些呢都很简单我这里就不做具体的实验了。后期看时间吧,有时间的话会给大家写一下其具体的案例。
其实这些案例在Testng的官网上都有,说的也很详细。
我这里只是为自己做个笔记而已所以写的比较糙,请大家见谅。后续我会完整的写一写这个框架的使用的。