一、TestNG
TestNG作为一个常见的测试工具,常用于做自动化测试工作。其主要依赖maven项目,因此在使用TestNG时,需要在pom.xml文件底下配置坐标才能使用。
1、配置安装TestNG:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>x.x.x</version>
</dependency>
2、TestNG常用注解
①、注解@Test
常用属性:
enabled | 用于标注该用例是否是测试用例(true则是,false则不是) |
priority | 默认的测试用例的执行顺序是基于方法名的ASCII码来执行的,可以通过设置优先级的大小,值越小优先级越高(例如优先级1 > 2) |
InvocationCount | 用于规定测试用例的执行次数 |
dependsOnMethods | 用于执行测试用例,设置相应的依赖关系 |
②、前置处理
@BeforeSuite | 在测试整个项目前执行测试前置套件 |
@BeforeTest | 在测试模块前执行测试前置套件 |
@BeforeClass | 在测试子模块前测试前置套件 |
@BeforeMethod | 在测试方法前测试前置套件 |
③、后置处理
@AfterSuite | 在测试整个项目后执行测试前置套件 |
@AfterTest | 在测试模块后执行测试前置套件 |
@AfterClass | 在测试子模块后测试前置套件 |
@AfterMethod | 在测试方法后测试前置套件 |
3、断言方式
如何使用断言Assert,断言Assert方法如下:
相等性断言 |
assertEquals(actual, expected, message) | 断言实际值和预期值是否相等,如果不相等则抛出异常。适用于基本数据类型、对象以及集合类型。 |
assertEqualsNoOrder(actual, expected, message) | 忽略顺序判断两个数组或集合是否包含相同的元素。 | |
布尔类型断言 |
assertTrue(condition, message) | 断言条件是否为真,如果为假则抛出异常。 |
assertFalse(condition, message) | 断言条件是否为假,如果为真则抛出异常。 | |
空值断言 |
assertNull(object, message) | 断言对象是否为null ,如果不为null 则抛出异常。 |
assertNotNull(object, message) | 断言对象是否不为null ,如果为null 则抛出异常。 |
|
引用地址断言 |
assertSame(actual, expected, message) | 断言两个对象是否引用同一个对象,如果不是则抛出异常。 |
assertNotSame(actual, expected, message) | 断言两个对象是否引用不同的对象,如果是同一个对象则抛出异常。 | |
异常断言 |
assertThrows(ExpectedException.class, Executable executable) | 断言执行代码块时是否抛出指定类型的异常,如果没有抛出或抛出的异常类型不符则抛出异常。 |
4、TestNG配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="XXX">
<test name="XXX">
<classes>
<class name="XXX.XXX.Package.Method />
</classes>
</test>
</suite>
二、Rest-assured
1、配置安装Rest-assured:
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>x.x.x</version>
</dependency>
2、Rest-assured使用
①、given()
配置,包括请求头、请求参数、请求体、cookie等。
②、when()
执行的请求方法,即发起请求的网址(GET、POST、PUT)等。
③、then()
解析结果,显示日志,返回接口的结果等。
Rest-assured语法格式如下:
given().
XXX
when().
XXX
then().
XXX