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中,重新发送请求.

 

posted @ 2019-04-17 21:49  Avicii_2018  阅读(806)  评论(0编辑  收藏  举报