断言也就是判断实际结果与预期结果是否相等,如果相等测试通过,否则测试失败,自动化测试不管是UI,Services还有unit都需要做断言。
image.png
1.动态结果断言
-
通常我们做结果测试会遇到输入参数与返回结果的映射关系,如下excel所示
-
大家看到这样的数据源,肯定是需要做循环执行的
-
设置断言(Script Assertion)
-
Groovy脚本动态验证结果
-
Groovy脚本
//动态获取实际结果
def response = context.expand( '${getApp#Response#$.data.AppId}' )
//动态获取预期结果
def appId=context.expand( '${deviceIdAndAppId#appId}' )
//log.info response
//log.info appId
//断言实际结果与预期结果
assert response==appId
-
取消设置错误发生忽略测试
由于该接口测试是个集合,所以返回的结果有的是成功的,有的是失败的,当失败发生时测试是不能停止的需要继续执行,所以我们要取消该设置
菜单操作路径:选中Test Case右键菜单->Options
image.png
-
查看执行结果
2.HTTP的状态断言
比如请求返回成功的状态码为200,可以设置如下
-
增加Valid HTTP Status Codes Assertion
-
断言设置为200
3.返回Json数据的总数验证
比如接口请求之后会返回一个产品列表,我们需要验证列表的总数
-
增加Json Path Count Assertion
-
设置期望结果
4.验证结果包含
比如结果请求之后要验证返回结果包含某个特定字符
-
增加Contains Assertion
-
设置期望结果
5.固定的返回值
比如请求的接口会返回“成功”或“失败”的字眼,这个时候我们就可以验证这个固定的返回值
-
设置方式跟验证包含是一样的
网友评论