断言比较HardAssert和SoftAssert
接口测试常见流程:
- 发送接口请求
- 断言接口响应状态是否为200 OK
- 断言接口的响应时间低于某一个值(依据情况而定,不是必选)
- 断言响应数据是否正确,一般方法是判断某一个值是否相等或者包含关系
其中,第四步判断结果的断言最难,因为接口请求回来之后会有很多数据返回,一般都是json数据,有的是对其中几个json字符串进行断言比较,有些可以通过两个json文件进行对比,一个是直接从数据库请求的json数据文件,一个是接口请求得到的json文件。
在TestNG中最常用的断言类是Assert.java,里面有很多的静态方法,习惯称这个类为硬断言,相对应的也有软断言,为SoftAssert.java,这个类是需要创建实例对象,通过对象才能调用相关的实例方法进行软断言的操作。
- Assert类(硬断言)
- Assert.assertEquals(actual, expected)
在TestNG中,一共提供了33中assertEquals()方法,主要目的是为了匹配不同的数据类型和集合类操作。最常用的有assertEquals(actual, expected)和Assert.assertEquals(actual, expected,“message1”),在使用第二种方式进行断言判断时,如果预期结果和实际结果不相等,会抛出断言异常并打印message1的内容,能够帮