第一步:发起请求 第二步:断言响应状态是否200,如果成功继续 第三步:断言响应时间是否符合标准(非必须) 第四步:断言响应数据是否正确,一般的做法是判断某个值是否相等或者包含关系。
断言是一个接口用例执行成功的关键,TestNG中最常用的一个断言类是Assert.java,里面包含很多个静态方法。
如果condition为真,该断言运行通过,如果condition为假,抛出异常并打印message的信息
与assertTrue()相对应的是assertFalse(condition, message)方法,如果condition结果为false,则断言成功,condition为true,断言失败并打印message信息
TestNG的assertEquals()方法提供了超过30多种的重载方法,这些方法支持不同的数据类型和集合类操作
Assert.assertEquals(actual, expected, message)。actual与expected比较结果如果不相等,抛出断言异常并显示message的信息。
判断两个数组是否相同,忽略排序位置
与 Assert.assertEquals 相反的是Assert.assertNotEquals(actual, expected, message),actual 与 expected 不相等的话则断言成功,相等的话断言失败并抛出断言异常并显示message的信息
对象非空判断,断言对象不为空,否则,抛出异常,打印message1的内容。
断言两个对象相同,这里相同和上面的Equals不同,Equals是值比较,而Same是内存地址比较
与assertSame(actual, expect, “message”)相反的是assertNotSame(actual, expect, “message”),断言两个对象内存地址不相同
在 Assert.java 也称为硬断言。硬断言就是,如果运行到这行断言失败,即使该用例,后面还有其他代码行,也不会继续执行下去。SoftAssert 可以解决这个问题。
SoftAssert 的特点: 1)一个用例有多个断言,失败了其中一个,不影响其他断言的运行 2)在该用例的最后一个断言调用assertAll()