1、介绍
官网:TestNG是一个测试框架,旨在简化广泛的测试需求,从单元测试(将一个类与其他类隔离测试)到集成测试(对由多个类,多个程序包甚至几个外部框架组成的整个系统进行测试),例如 应用程序服务器)。
可以看出TestNG致力于简化测试流程。
2、Quick start
- 编写测试的业务逻辑,然后在代码中插入TestNG批注。
- 在testng.xml文件中添加有关测试的信息(例如,类名,希望运行的组等)。
- 运行TestNG。(可以使用eclipse、idea插件,或者命令)
3、Before/After注解
注解 | 描述 |
---|---|
@BeforeSuite @AfterSuite | 带注释的方法将在该套件中的所有测试运行之前运行。 带注释的方法将在该套件中的所有测试运行之后运行。 |
@BeforeTest @AfterTest | 带注释的方法将在运行属于标记内的类的任何测试方法之前运行。 带注释的方法将在运行属于标记内的类的任何测试方法之后运行。 |
@BeforeGroups @AfterGroups | 此配置方法将在其之前运行的组的列表。 保证此方法可以在调用属于任何一个组的第一个测试方法之前运行。 此配置方法将在其之前运行的组的列表。 保证此方法可以在属于任何一个组的测试方法运行之后运行。 |
@BeforeClass @AfterClass | 带注释的方法将在调用当前类中的第一个测试方法之前运行。 带注释的方法将在当前类中的所有测试方法运行之后运行。 |
@BeforeMethod @AfterMethod | 带注释的方法将在每个测试方法之前运行。 带注释的方法将在每个测试方法之后运行。 |
属性
属性名 | 描述 |
---|---|
alwaysRun | 设置为true时,无论什么情况都会运行 |
dependsOnGroups | 依赖的组列表 |
dependsOnMethods | 依赖的方法列表 |
enabled | 设置为false时失效 |
groups | 所属组 |
inheritGroups | 如果为true,则此方法将属于@Test使用在类级别上指定的组。 |
onlyForGroups | 仅适用于@BeforeMethod和@AfterMethod。 如果指定,则仅当相应的测试方法属于列出的组之一时,才调用此setup / teardown方法。 |
4、DataProvider注解
注解 | 描述 |
---|---|
DataProvider | 使用此注解为测试方法提供数据。 带注释的方法必须返回一个Object [] [],可以为每个Object []分配测试方法的参数列表。 想要从此DataProvider接收数据的@Test方法需要使用等于此注释名称的dataProvider名称。 |
属性
属性名 | 描述 |
---|---|
name | 数据提供者的名称。 如果未提供,则此数据提供者的名称将自动设置为方法的名称。 |
parallel | 如果设置为true,所有使用此数据提供者的方法将并行运行。 |
5、Test注解
注解 | 描述 |
---|---|
Test | 使用此注解的方法或者类将被TestNG识别并运行。 |
属性
属性名 | 描述 |
---|---|
alwaysRun | 设置为true时,无论什么情况都会运行 |
dataProvider | 数据提供者的名称 |
dataProviderClass | 如果未指定,将在当前测试方法的类或其父类之一上查找数据提供者。 如果指定了此属性,则数据提供者方法在指定的类上必须是静态的。 |
dependsOnGroups | 依赖的组列表 |
dependsOnMethods | 依赖的方法列表 |
description | 说明 |
enabled | 设置为false时失效 |
expectedExceptions | 预期测试方法将引发的异常列表。 如果未引发任何异常或与该列表中的异常不同,则此测试将标记为失败。 |
groups | 所属组 |
invocationCount | 调用次数 |
invocationTimeOut | 所有invocationCount的累积超时时间。 注意:如果未指定invocationCount,则将忽略此属性。 |
priority | 此测试方法的优先级 |
successPercentage | 该方法预期成功的百分比 |
singleThreaded | 如果设置为true,则即使当前正在使用parallel =“ methods”运行测试,也保证该测试类上的所有方法都可以在同一线程中运行。 此属性只能在类级别使用,如果在方法级别使用,则将被忽略。 |
timeOut | 超时时间 |
threadPoolSize | 此方法的线程池的大小。 该方法将从invocationCount指定的多个线程中调用。 注意:如果未指定invocationCount,则忽略此属性 |
欢迎来到testingpai.com!
注册 关于