接口测试 添加断言,
断言就是接口在执行的过程中,会拿实际运行的结果与预期结果做对比,如果预期与实际一样就通过,不一样就失败。

如果想做接口的自动化测试,就必须添加断言。

添加断言

接口运行完成之后,人工判断的方式:

  1. 查看接口返回的状态码
  2. 查看接口返回的结果内容

添加状态码断言

打开【Tests】面板,如果里面有提取变量的代码,断言要放在提取变量之前。(因为如果断言失败,说明运行失败,就没有必要提取变量了)
image.png

生成对应的断言代码
image.png
代码也可以进行适当编辑。
image.png

  1. pm.test("状态码为200", function () {
  2. pm.response.to.have.status(200);
  3. });

对服务器返回的结果进行断言

除了对状态码进行断言,也要对服务器返回的结果进行判断。
服务器返回结果如下:

  1. {
  2. "success": true,
  3. "topic_id": "618e1cd7eabeee6b1ff2d8f1"
  4. }
  • 非常确定 suceess 的值为 true。
  • topic_id 值不确定。

对success 字段进行断言
image.png

image.png

  1. pm.test("sucess值为true", function () {
  2. // 获取服务器返回结果
  3. var jsonData = pm.response.json();
  4. // jsonData.success
  5. pm.expect(jsonData.success).to.eql(true);
  6. });

练习

登录接口参数化
请求方法:POST
请求地址: http://49.233.108.117:28019/api/v1/user/login
请求数据:格式为 json格式。

  1. {
  2. "loginName": "string",
  3. "passwordMd5": "string"
  4. }
  • loginName 登录手机号
  • passwordMd5: md5加密之后的密码

使用
13700002703 、 e10adc3949ba59abbe56e057f20f883e
进行登录,
添加登录成功的断言

image.png

  1. pm.test("Status code is 200", function () {
  2. pm.response.to.have.status(200);
  3. });
  4. pm.test("resultcode断言", function () {
  5. var jsonData = pm.response.json();
  6. pm.expect(jsonData.resultCode).to.eql(200);
  7. });
  8. pm.test("message 断言", function () {
  9. var jsonData = pm.response.json();
  10. pm.expect(jsonData.message).to.eql("SUCCESS");
  11. });

思维导图

postman接口测试.svg