接口测试 添加断言,
断言就是接口在执行的过程中,会拿实际运行的结果与预期结果做对比,如果预期与实际一样就通过,不一样就失败。
如果想做接口的自动化测试,就必须添加断言。
添加断言
接口运行完成之后,人工判断的方式:
- 查看接口返回的状态码
- 查看接口返回的结果内容
添加状态码断言
打开【Tests】面板,如果里面有提取变量的代码,断言要放在提取变量之前。(因为如果断言失败,说明运行失败,就没有必要提取变量了)
生成对应的断言代码
代码也可以进行适当编辑。
pm.test("状态码为200", function () {
pm.response.to.have.status(200);
});
对服务器返回的结果进行断言
除了对状态码进行断言,也要对服务器返回的结果进行判断。
服务器返回结果如下:
{
"success": true,
"topic_id": "618e1cd7eabeee6b1ff2d8f1"
}
- 非常确定 suceess 的值为 true。
- topic_id 值不确定。
对success 字段进行断言
pm.test("sucess值为true", function () {
// 获取服务器返回结果
var jsonData = pm.response.json();
// jsonData.success
pm.expect(jsonData.success).to.eql(true);
});
练习
登录接口参数化
请求方法:POST
请求地址: http://49.233.108.117:28019/api/v1/user/login
请求数据:格式为 json格式。
{
"loginName": "string",
"passwordMd5": "string"
}
- loginName 登录手机号
- passwordMd5: md5加密之后的密码
使用
13700002703 、 e10adc3949ba59abbe56e057f20f883e
进行登录,
添加登录成功的断言
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("resultcode断言", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.resultCode).to.eql(200);
});
pm.test("message 断言", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("SUCCESS");
});