最近在重新学习java,看到一个java的测试框架TestNG,就来学习使用一下。
官网对testNG框架的介绍(https://testng.org/doc/index.html):
TestNG是一个从JUnit和NUint延伸出来的测试框架,但是它多了一些额外的更加有用的功能,使得框架更加容易使用。
TestNG的特点:
1)注解
2)线程池管理用例执行,每个测试类一个线程
3)多线程安全
4)简单的测试配置
5)支持数据驱动
6)支持参数化
7)有用的测试执行模型(无需更多的测试套件)
8)支持多种不同的工具和插件(Eclipse、IDEA、Maven。。。)
9)支持运行和日志(无需额外的依赖)
10)支持应用服务端测试
一. 创建简单的Suite测试
通过IDEA结合Maven创建一个testng测试套件进行测试。
创建一个suite测试套件“com.test.testng.suite”:
新建三个类:LoginTest、PayTest、SuiteConfig:
三个类中分别建立测试方法和测试套件前后执行的方法:
2.1 测试方法要加注解@Test
2.2 测试套件前后执行要加@BeforeSuite和@AfterSuite注解说明:
配置testng.xml文件:
执行testng.xml
这样一个简单的测试套件就创建完成了。
二.常见注解说明
注解名称 | 说明 |
@Test | 标记某个方法为测试方法 |
@BeforeClass | 在测试类运行之前执行,初始化操作 |
@AfterClass | 在测试类运行之后执行,后置操作 |
@BeforeMethod | 在每个测试方法运行之前执行 |
@AfterMethod | 在每个测试方法运行之后执行 |
@DataProvider | 为测试方法提供数据 |
@BeforeSuit | 所有的testCase类运行之前运行,通过xml文件将测试类放在一个测试套件中 |
@AfterSuit | 所有testCase类运行之后运行,通过xml文件将测试类放在一个测试套件中 |
@BeforeGroups(XX) | 在该组的测试方法运行之前运行 |
@AfterGroups(XX) | 在该组的测试方法运行之后运行 |
预告:testNG的测试分组执行。