postman使用教程18-如何取出返回 cookie 中的 sessionId 值

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postman使用教程18-如何取出返回 cookie 中的 sessionId 值相关的知识,希望对你有一定的参考价值。

前言

接口返回的token一般是通过json格式返回过来的,可以通过 pm.response.json() 解析后直接取值。
sessionId 这种参数一般会放在返回的cookies里面,那么postman 中接口返回 cookies 中的值如何取出呢?

接口案例

当我们请求登录接口,输入账号和密码,请求报文如下

POST http://localhost:8000/api/v1/login HTTP/1.1
User-Agent: Fiddler
Host: localhost:8000
Content-Length: 40
Content-Type: application/json

{"username":"test2","password":"123456"}

接口返回的token在返回body中可以获取到

HTTP/1.1 200 OK
Date: Thu, 21 Oct 2021 13:55:01 GMT
Server: WSGIServer/0.2 CPython/3.6.6
Content-Type: application/json
Vary: Accept, Cookie
Allow: POST, OPTIONS
X-Frame-Options: SAMEORIGIN
Content-Length: 108
Set-Cookie: sessionId=c6193128779902ea8a34847e883ecc50a5bdc693; Path=/

{"code":0,"msg":"login success!","data":{"user":"test2","token":"c6193128779902ea8a34847e883ecc50a5bdc693"}}

取出 body 中的 token

先看下返回json格式的时候,token是如何取值的

在Tests 中编写以下代码,取出 token在 console 中输出

// reponse解析json
jsonData = pm.response.json();
// console
console.log(jsonData.data.token);

console 中输出结果

取出返回cookie中的sessionId

返回的headers 的Set-Cookie 中有个sessionId=e41befda58374a546f5f4290e75eb2ae11640bb5,我们主要是想获取sessionId对应的值

在Tests 中编写以下代码,注意这里是 postman.getResponseCookie(),不是pm.getResponseCookie(),这2个是有区别的。

// 获取返回的cookies
sessionId = postman.getResponseCookie("sessionId").value
console.log(sessionId);

console 中输出结果

取出返回头部 headers 中的值

如果取出的值,仅仅是返回头部的,如下:Server: WSGIServer/0.2 CPython/3.6.6

在Tests 中编写以下代码

// 获取返回的cookies
server = postman.getResponseHeader("Server")
console.log(server);


console 中输出结果

以上是关于postman使用教程18-如何取出返回 cookie 中的 sessionId 值的主要内容,如果未能解决你的问题,请参考以下文章

如何在Chrome下使用Postman进行rest请求测试

postman使用教程

Postman测试工具调试接口详细教程向后端发送Json数据并接收返回的Json结果

使用 Postman 将文件下载到特定位置

Postman:如何在 Postman 自动化中检查字段是不是返回 null

CORS - 从 Postman 伪造 CORS 预检无法返回标头