Bootstrap

postman(一)常用的Tests方法

1、断言:判断状态码为200

# 手动写
tests["响应码为200"] = responseCode.code === 200

# postman自带:Status code:Code is 200
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

2、断言:判断响应体包含某字符

字符可以是key、value。多个自读用“,”分割

# 手动写
tests["包含XX"]=responseBody.has("XX")

# postman自带:Response body:Contains string
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("xx");
});

3、断言:判断响应头存在某元素

# 手动写
tests["响应头是否存在某元素包含Content-Type"]=postman.getResponseHeader("Content-Type")

# postman自带:Response headers:Content-Type header check
pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

4、将取值定义为一个变量

# 获取Header的某字段
var xxx = postman.getResponseHeader("key")

# 获取token
var token = pm.response.json().data.token
   或
var token = JSON.parse(responseBody).token

5、添加环境变量

postman.setEnvironmentVariable("key",xxx)
或
pm.environment.set("key",xxx);

6、断言:判断响应体内容正确

tests["响应体内容正确"]=responseBody==="预期内容"

7、断言:响应时间

tests['响应时间小于200ms']=responseTime<200

8、跳转下一指定请求

postman.setNextRequest('请求名/ID')
注:单独运行时无效,需要在运行该集合时生效

9、转化XML body 为JSON对象

var jsonObj = xml2Json(responseBody)

10、获取结果集中指定数据

tests["获取第一个结果"] = xxx.content.XXX[0];
;