TestNG

转自:http://blog.csdn.net/u013375059/article/details/54287470
testNG帮助文档链接:http://testng.org/doc/documentation-main.html 
 
TestNG是一个测试Java应用程序的开源框架,类似JUnit和NUnit。
注解描述
@BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中
@AfterSuite 注解的方法将只运行一次此套件中的所有测试都运行之后
@BeforeCla 注解的方法将只运行一次先行先试在当前类中的方法调用
@AfterCla 注解的方法将只运行一次后已经运行在当前类中的所有测试方法
@BeforeTest 注解的方法将被运行之前的任何测试方法属于内部类的 标签的运行
@AfterTest 注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行
@BeforeGrou 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用
@AfterGrou 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用
@BeforeMethod 注解的方法将每个测试方法之前运行
@AfterMethod 被注释的方法将被运行后,每个测试方法
@DataProvider 标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字
@Factory 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]
@Listener 定义一个测试类的监听器
@Parameter 将xml文件中参数传递给@Test方法
@Test 标记一个类或方法作为测试的一部分
属性描述
ame uite的名字(他会出现在测试报告中)
junit 是否以junit模式运行
verbose 在控制台中如何输出,这个设置不影响html版本的测试报告
arallel 是否使用多线程测试(可加速测试)
configfailurepolicy 是否在运行失败了一次后继续尝试或跳过
thread-count 如果设置了parallel,可以设置线程数
annotatio 有‘javadoc’的时候寻找,没有的话使用jdk5的注释
time-out 在终止method (如果parallel=”methods”) 或者test (如果parallel=”tests”)之前设置以毫秒为单位的等待时间
kipfailedinvocationcount 是否跳过失败的调用
data-provider-thread-count 提供一个整数线程池的范围为了使用parallel data
object-factory 一个继承IObjectFactory的类,被用来实例化测试对象
allow-return-value 如果设置true,将会运行测试用例并返回值
示例
当测试逻辑一样,只是参数不一样时,采用数据驱动测试机制,避免写重复代码。TestNG中通过@DataProvider实现数据驱动。
利用@DataProvider做数据驱动,数据源文件可以是EXCEL,XML,甚至可以是TXT文本。以读取xml文件为例,通过@DataProvider读取XML文件中数据,然后测试方法只要标示获取数据来源的DataProvider,那么对应的DataProvider会把读取的数据传给该test方法。
DataProvider原理
DataProvider原理
xml中的父节点与test方法名对应,因此xml中同名父节点的个数就意味着该test方法会被重复执行多少次; 当dataprovider与test方法不在同一个类时,需指明dataprovider类,如dataProviderClass= GenerateData.cla
TestNG会监听每个测试case的运行结果,有时候我们需要定制一些其他功能,如自动截图,发送数据给服务器等。方法是新建一个继承TestListenerAdapter的类。 重写完成后,在需要的test方法前添加注解@Listeners(TestNGListener.class)
* BaseTest *
原文地址:https://www.cnblogs.com/celine/p/7986706.html