TestNG是一个开源测试框架,它的灵感来源与Until和Juntil。当初设计就是为了解决Juntil的瓶颈,如注释少(只有5 6中),参数化不够强大,早期都是为了开发的单元测试而准备的,要配合IED来使用,也不支持多线程。
为了解决这些,TestNG的特点有:
1注解
常用:
@BeforeTest 将会在一个元素定义的所有里面所有测试方法执行之前运行。
@AfterTest 将会在一个元素定义的所有里面所有的测试方法执行之后运行。
@BeforeClass 将会在当前测试类的第一个测试方法执行之前运行
@BeforeSuite 将会在testng定义的xml根元素里面的所有执行之前运行
@BeforeMethod 将会在当前测试类的每一个测试方法执行之前运行。
dataProvider : 选定传入参数的构造器。
2.面向对象集成
3测试类组合
4.灵活的运行时配置
testng.xml文件的格式一般如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default suite" parallel="tests">
<test verbose="2" name="test1">
<classes>
<class name="demo.test1"/><!-- 类名 -->
</classes>
</test>
<test verbose="2" name="test2">
<classes>
<class name="demo.test2"/>
</classes>
</test>
</suite>
1) suite是根 ,name测试报告名称
2) parallel并行模式,取值有4钟。
methods(将并行执行所有的测试方法在不同的线程里),
tests(将并行执行在同一个<test>下的所有方法在不同线程里),
classes(将并行执行在相同<class>下的方法在不同线程里),
instances(将并行执行相同实例下的所有方法在不同的县城里)
5.支持依赖方法,并行测试
6.多线程