在做接口测试时,某些场景下需要添加断言,对接口进行判断,postman在"Tests"中提供了比较多的断言方式。
在这里插入图片描述
根据postman的Tests界面右侧SNIPPETS模块,我们可以看出Tests断言主要有如图六种方式:

  • Status code:Status code is 200.(校验响应状态码是否等于某个值,一般是200)
  • Response time :Response time is less than 200msis less than 200ms.(校验响应时间是否少于多少毫秒)
  • Response body :JSON value check.(校验返回结果中某个字段的值是否等于某个值)
  • Response body:Contains string.(校验返回结果中是否包含某个字符串)
  • Response body:Is equal to string.(校验返回结果是否等于某个字符串,这种断言用法较少)
  • Response headers:Content-type header check.(校验响应头是否包含某个字段)
    其中前面三种断言方式用得比较多,后面三种相对来说用得比较少,主要掌握前面三种即可,下面我们将主要介绍前面三种断言方式的用法。
    接口地址:https://www.v2ex.com/api/nodes/show.json?name=python
    Method:GET
    Authentication:None
    在这里插入图片描述
    1)判断状态返回码
    判断状态返回码的状态是否为200,200就是正常。
    断言代码:
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

或者

tests["Status code is 200"] = responseCode.code == 200;

“Status code is 200”:此处的文字信息可以任意定义(填写),只是为了方便我们自己查看结果。
(运行的结果在“Test Results”中查看)
在这里插入图片描述
2)判断响应时间
根据测试标准,设置响应时间限制,断言代码如下:

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

“Response time is less than 200ms”:此处的文字信息可以根据需要自行填写。
在这里插入图片描述
3)判断是否存在某元素
判断测试响应数据中是否包含某元素。断言代码:

tests["判断返回的元素中是否有data"] =responseBody.has("data");//不包含
tests["判断返回的元素中是否有id"] =responseBody.has("id");//包含

在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐