目录[-]
在postman接口测试时,都需要用到接口参数之间的使用,以及接口返回数据的断言
方法1:获取token-设置为环境变量
var data = pm.response.json(); 获取接口的返回值,并以json格式获取
pm.environment.set("token", data.data.token); 设置环境变量token
接口运行成功后,在环境变量中就可以看到成功设置环境变量
第一个接口设置好环境变量后,后面的接口如果用到次参数,可以使用{{token}}直接使用设置好的token
方法2:获取token-设置为全局变量
var data = pm.response.json(); 获取接口的返回值,并以json格式获取
pm.globals.set("token", data.data.token); 设置环境变量token
(3)获取接口中的某响应头-获取Content-Type
var ContentType=postman.getResponseHeader("Content-Type");
pm.environment.set("Content-Type", ContentType);
(4)判断接口响应值是否是200:Status code:Code is 200
pm.test("断言200", function () {
pm.response.to.have.status(200);
});
(5)检查接口响应值中是否包含登录成功字样,【若include中包含则返回"Body matches 登录成功"】
//Response body:Contains string
pm.test("Body matches 登录成功", function () {
pm.expect(pm.response.text()).to.include("登录成功");
});
(6)检查JSON中的某个值是否等于预期【pm.expect(jsonData.字段名称).to.eql(字段返回值)】
//Response body:JSON value check
pm.test("code=200,success=true,message=登录成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(200);
pm.expect(jsonData.success).to.eql(true);
pm.expect(jsonData.message).to.eql("登录成功");
});
(7)检查响应体是否等于response_body_string字符【pm.response.to.have.body("接口响应值精确匹配");】
//Response body:Is equal to a string
pm.test("Body is correct", function () {
pm.response.to.have.body("接口返回详情精确匹配值,JSON则需要转义");
});
(8)接口响应头Content-Type检查是否存在
//Response headers:Content-Type header check
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
(9)接口响应时间是否小于200毫秒,如果是返回pass
//Pesponse time is less than 200ms
pm.test("Response time is less than 20ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
(10)接口响应code包含[201, 202,200],若包含201,202,200则返回true
//Status code:Successful POST request
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([201, 202,200]);
});
//(11)Status Code的返回值是否包含对应的字符【包含OK字符,若包含则返回pass】
//Status code:Code name has string
pm.test("Status code name has string", function () {
pm.response.to.have.status("OK");
});
//(12)将XML格式的响应体转换为JSON格式
//Response body:Convert XML body to a JSON Object
var jsonObject = xml2Json(responseBody);