Postman 测试需要依赖登录的接口
参考文章:https://www.jianshu.com/p/5787c97f1977
测试工作中需要测试依赖登录的接口,测试方法总结如下:
1.依次请求
1.1postman中创建两个请求,一个登录请求,一个被测接口请求
1.2在浏览器中登录,使用fiddler等抓包工具进行抓包,即抓取Cookie
1.3先使用Postman发送一下登录接口请求,这时Cookies会存到本地(可以通过Postman Cookies管理器查看), 然后再发送依赖登录的接口即可.(也可通过设置环境变量的方法,将cookie值传到下一个接口中)
2.抓取cookie,绕过登录
2.1在浏览器中登录,使用fiddler等抓包工具进行抓包,即抓取Cookie
2.2在postman中输入测试接口地址,请求方法,还有参数信息,并在Headers中添加Cookie及抓取的Cookie值(Cookie值直接粘贴就可以,不用分成几行)
3.使用测试沙箱Pre-request Script
postman中创建被测接口的请求,在Pre-request Script中添加一个预登陆信息,以便在调用接口前先登录账号
1 // 构造一个Post x-www-form-urlencoded格式请求 2 const loginRequest = { 3 url: 'http://115.28.108.130:5000/api/user/login/', 4 method: "POST", 5 body: { 6 mode: 'urlencoded', 7 urlencoded: 'name=张三&password=123456' 8 } 9 }; 10 //发送请求 11 pm.sendRequest(loginRequest, function (err, res) { 12 console.log(err ? err : res.text()); 13 }); 14 15 注: 16 url实际需要登录的接口地址 17 urlencoded中据实填写name和password
18 也可以直接使用pm.sendRequest(loginRequest);
或者:
const loginRequest = {
url:"http://127.0.0.1/api/mgr/signin",
method:"POST",
header:"Content-Type:application/x-www-form-urlencoded",
body:{
mode: "x-www-form-urlencoded",
raw:"username=byhy&password=88888888"
}
};
pm.sendRequest(loginRequest, function (err, response) {
console.log(response.json());
});
注意:
1.url为实际需要登录的接口地址
2.urlencoded中据实填写name和password
3.也可以直接使用pm.sendRequest(loginRequest);
<4>另,this referer is not found 的处理
postman中遇到this referer is not found的报错,可以使用通过浏览器F12对需要调试的请求抓包,获取request headers中的referer信息
将其添加到postman该请求中的headers中,重新发送请求.