2 - Annotations标注

下面是TestNG标注和参数的一个快速预览

@BeforeSuite 被标注的方法会在这个套件的所有测试执行之前执行 
@AfterSuite 被标注的方法会在这个套件的所有测试执行之后执行
@BeforeTest 被标注的方法会在<test>标签内的类中的所有测试方法执行之前执行 
@AfterTest  被标注的方法会在<test>标签内的类中的所有测试方法执行之后执行 
@BeforeGroups  被标注的方法会在属于这些组的第一个测试方法被调用之前短暂的执行 
@AfterGroups  被标注的方法会在属于这些组的最后一个测试方法被调用之后短暂的执行 
@BeforeClass  被标注的方法会在当前类的第一个测试方法被调用前执行 
@AfterClass  被标注的方法会在当前类的所有测试方法执行之后被执行 
@BeforeMethod  被标注的方法会在每一个测试方法执行之前被执行 
@AfterMethod  被标注的方法会在每一个测试方法执行之后被执行
alwaysRun

对于before方法:如果设置为true,被配置的方法会忽略它所属的组而执行

对于after方法:如果设置为true,即使一个或多个方法调用失败或者被跳过了,被配置的方法仍然执行

dependsOnGroups 方法所依赖的组列表
dependsOnMethods 方法所以来的方法列表
enabled 方法在当前类/方法上的可行性状态
groups 当前类/方法所属的组列表
inheritGroups 如果为true,当前方法就会属于@Test标注在class级别所指定的组
   
@DataProvider  被标注的方法是给测试方法提供数据的,并且该方法必须返回Object[][],每个Object[]都可以被赋值给测试方法的参数列表。@Test方法想要从DataProvider接收数据,它需要使用与这个标注相同名称的dataProvider名称
name  数据提供者的名称,如果没有名称,那么该数据提供者的名称会被自动设置成这个方法名
parallel 如果设置为true,使用该数据提供者的测试会多线程执行,默认值为false 
   
 @Factory  将一个方法标注为工厂,返回的对象被TestNG用作Test classes。这个方法必须返回Object[]
   
 @Listeners  在test class上定义监听器
value  继承了 org.testng.ITestNGListener的类的列表
   
 @Parameters  描述如何将参数传递给@Test方法
 value  用于填充该方法参数的值列表
   
 @Test  将一个类或一个方法标注为测试的一部分
alwaysRun  如果设置为true, 这个测试方法还是会被执行,即使它依赖的方法失败了
dataProvider  该测试方法的数据提供者名称 
dataProviderClass  用于查找数据提供者的类,如果没有指定,数据提供者会在当前的测试方法或者它的基类中被查找。如果指定了这个属性,这个数据提供者方法需要在这个指定的类中设置为static 
 dependsOnGroups 这个方法依赖的组列表 
dependsOnMethods  这个方法依赖的方法列表 
description  该方法的描述 
enabled  当前类/方法是否被激活 
expectedException   测试方法可能会抛出的异常,如果没有异常或者抛出的异常不在列表中,这次测试会被标记为失败
groups  这个类/方法属于的组列表 
invocationCount  这个方法会被调用的次数 
invocationTimeOut  所有调用所耗费的时间最大值,invocationCount如果未指定,那么该属性被忽略 
priority  该测试方法的优先级,低优先级的会先被安排
successPercentage  该测试方法的成功期望百分比 
singleThreaded  如果被设置为true,所有的在改测试类中的方法保证在同一个线程内运行,即使这个测试现在正在以parallel="methods"执行,这个属性只在class级别起作用,若使用在方法级别就会被忽略,提示:这个属性曾经被称为sequential顺序
 timeOut 这个测试会使用的最大时间 
threadPoolSize  该方法线程池的最大值,这个方法会被指定了invocationCount的多线程被调用。提示:这个属性会被忽略如果invocationCount未被指定 
posted @ 2015-07-08 16:13  测开刘小洋  阅读(124)  评论(0编辑  收藏  举报