前言
接口返回的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 中輸出結果

