一、Annotations
如下就是在TestNG中可以使用的annotation的速查预览,并且其中给出了属性:
标注: @BeforeSuite | TestNG 类的配置信息: @BeforeSuite: 被注解的方法,会在当前suite中所有测试方法之 前 被调用。 |
标注属性: alwaysRun | 1、对于在方法之前的调用(beforeSuite, beforeTest, beforeTestClass 和 beforeTestMethod, 除了beforeGroups): 若为true,这个配置方法无视其所属的组而运行 2、对于在方法之后的调用(afterSuite, afterClass, ...): 若为true, 这个配置方法会运行,即使其之前一个或者多个被调用的方法失败或者被跳过。 |
标注属性: dependsOnGroups | 方法所依赖的一组group列表 |
标注属性: dependsOnMethods | 方法所依赖的一组method列表 |
标注属性: enabled | 在当前class/method中被此annotation标记的方法是否参与测试(不启用则不在测试中运行) |
标注属性: groups | 一组group列表,指明了这个class/method的所属 |
标注属性: inheritGroups | 如果是true,则此方法会从属于在类级由@Test注解中所指定的组 |
标注: @DataProvider | 把此方法标记为为测试方法提供数据的方法。被此注释标记的方法必须返回Object[][],其中的每个Object[]可以被分配给测试方法列表中的方法当做参数。那些需要从DataProvider接受数据的@Test方法,需要使用一个dataprovider名字,此名称必须与这个注解中的名字相同。 |
标注属性: name | DataProvider的名字 |
标注: @Factory | 把一个方法标记为工厂方法,并且必须返回被TestNG测试类所使用的对象们。 此方法必须返回 Object[]。 |
标注: @Parameters | 说明如何给一个 @Test 方法传参 |
标注属性: value | 方法参数变量的列表 |
标注: @Test | 把一个类或者方法标记为测试的一部分。 |
标注属性: alwaysRun | 如果为true,则这个测试方法即使在其所依赖的方法为失败时也总会被运行 |
标注属性: dataProvider | 这个测试方法的dataProvider |
标注属性: dataProviderClass | 指明去那里找data provider类。如果不指定,那么就当前测试方法所在的类或者它的一个基类中去找。如果指定了,那么data provider方法必须是指定的类中的静态方法。 |
标注属性: dependsOnGroups | 方法所依赖的一组group列表 |
标注属性: dependsOnMethods | 方法所依赖的一组method列表 |
标注属性: description | 方法的说明 |
标注属性: enabled | 在当前class/method中被此annotation标记的方法是否参与测试(不启用则不在测试中运行) |
标注属性: expectedExceptions | 此方法会抛出的异常列表。如果没有异常或者一个不在列表中的异常被抛出,则测试被标记为失败。 |
标注属性: groups | 一组group列表,指明了这个class/method的所属 |
标注属性: invocationCount | 方法被调用的次数 |
标注属性: invocationTimeOut | 当前测试中所有调用累计时间的最大毫秒数。如果invocationCount属性没有指定,那么此属性会被忽略,需要与invocationCount属性配合使用 |
标注属性: successPercentage | 当前方法执行所期望的success的百分比 |
标注属性: sequential | 如果是true,那么测试类中所有的方法都是按照其定义顺序执行,即使是当前的测试使用parallel="methods"。此属性只能用在类级别,如果用在方法级,就会被忽略。 |
标注属性: timeOut | 当前测试所能运行的最大毫秒数 |
标注属性: threadPoolSize | 此方法线程池的大小。 此方法会根据制定的invocationCount值,以多个线程进行调用。 注意:如果没有指定invocationCount属性,那么此属性就会被忽略 |