说明:本文部分内容来源于网络,侵删
2. Annotations注解
下面是testng中可用的注解及属性描述
注解 | 描述 |
---|---|
@BeforeSuite | 在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的任意测试方法执行之前,先执行该方法; |
@AfterSuite | 在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的所有测试方法执行之后,再执行该方法; |
@BeforeTest | 在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的任意测试方法执行之前,先执行该方法; |
@AfterTest | 在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的所有测试方法执行之后,再执行该方法; |
@BeforeGroups | 在测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的任意测试方法执行之前,先执行该方法; |
@AfterGroups | 测试类中修饰一个方法,对于该方法所在的testng.xml中的,对中的所有测试方法执行之后,再执行该方法; |
@BeforeClass | 被注释的方法将在当前类的第一个测试方法调用前运行。 |
@AfterClass | 被注释的方法将在当前类的所有测试方法调用后运行。 |
@BeforeMethod | 被注释的方法将在每一个测试方法调用前运行。 |
@AfterMethod | 被注释的方法将在每一个测试方法调用后运行。 |
— | — |
属性 | 说明:上述annotations共有的属性如下: |
alwaysRun | 如果true,被修饰的方法将总是被执行(除了@BeforeGroups之外)。 |
dependsOnGroups | 这个方法依赖的组列表。 |
dependsOnMethods | 这个方法依赖的方法列表。 |
enabled | 这个类的方法是否激活。 |
groups | 这个类或方法所属的分组列表(可以有多组)。 |
inheritGroups | 如果true,被修饰方法还将被加入到定义测试类时由@Test设置的组; |
onlyForGroups | 仅适用于@BeforeMethod和@AfterMethod。如果指定,则仅当相应的测试方法属于列出的组之一时,才调用此setup / teardown方法。 |
注解 | 描述 |
---|---|
@DataProvider | 在测试类中修饰一个方法,该方法返回Object[][]类型的数据,作为其他测试方法的数据源。 |
>name | 为数据源定义一个唯一的名字,供其他测试方法通过名字引用数据源 |
>parallel | 默认false,如果true则引用该数据源的测试方法并行执行 |
注解 | 描述 |
---|---|
@Factory | 在测试类中修饰一个方法,该方法可以动态生成多个测试类的不同实例,以Object[]类型返回,供后续执行测试方法使用。 |
注解 | 描述 |
---|---|
@Listeners | 修饰一个测试类,为测试类设置监听器 |
> value | 测试类的监听器列表 |
注解 | 描述 |
---|---|
@Parameters | 在测试类中修饰一个测试方法,为被修饰的测试方法设置参数 |
>value | 测试方法的参数列表 |
注解 | 描述 |
---|---|
@Test | 修饰一个测试类,或者在测试类中修饰一个方法。修饰一个测试类时,测试类中的所有public的方法都将成为测试方法。 |
>alwaysRun | 如果true,被修饰的方法将总是被执行(除了@BeforeGroups之外; |
>dataProvider | 数据源的name; |
>dataProviderClass | 数据源所在的Java类名。如果未设置该属性,则数据源与测试方法在同一个测试类中;如果设置了类名,则作为数据源的方法必须是所在Java类的静态方法(即static); |
>dependsOnGroups | 被修饰方法所依赖的组列表; |
>dependsOnMethods | 被修饰方法所依赖的其他方法的列表; |
>description | 对呗修饰方法的描述 |
>enabled | 被修饰方法是否被激活; |
>expectedExceptions | 被修饰方法预期将抛出的异常的列表。被修饰方法在执行过程中如果未抛出任何异常或者抛出未指定异常,则测试失败; |
>groups | 被修饰方法所属的组(可以有多个组); |
>invocationCount | 被修饰方法在执行过程中的被调用次数; |
>invocationTimeout | 被修饰方法运行执行的最大毫秒数(每次被调用所执行的时间之和)。如果invocationCount未设置,则该值也将被忽略。 |
>priority | 被修饰方法的优先级,值越小优先级越高; |
>successPercentage | 被修饰方法成功执行的百分比; |
>singleThreaded | 当@Test修饰测试类时才有效。如果true,则被修饰测试类中的所有测试方法都在一个线程中执行,而不管在testng.xml中的为parallel属性设置了什么值。 |
>timeOut | 被修饰方法运行执行的最大毫秒数; |
>threadPoolSize | 被修饰方法的线程池大小,被修饰方法将多线程执行。如果invocationCount未设置,则该值也将被忽略。 |
如果注解在父类中使用:当放置在TestNG类的超类上时,上面的注释也将受到继承。例如,这对于在一个公共超类中集中多个测试类的测试设置非常有用。在这种情况下,TestNG保证以继承顺序执行“ @Before”方法(首先是最高父类,然后沿着继承链执行),以“ -After”方法以相反的顺序(沿继承链向上)执行。
说明:本文部分内容来源于网络,侵删