? ? 在使用postman測試聯調接口時,可能每個接口都需要使用此接口生成的令牌做Authorization的Bearer?Token驗證,最直接的辦法可能會是一步一步的點擊,如下圖:
在Authorization中去選擇''Bearer Token'',然后將獲取到的token粘貼在輸入框中,才可以請求接口;
? ? ? ?這樣的操作雖然可以進行,也能請求成功,獲取到自己想要的數據,但是在接口量較多的情況下顯然逐步操作填寫token比較費時費力,為了進一步提高效率,我們可以通過實時自動獲取token來直接請求接口
在 Postman 中,每次手動修改 Token 確實很麻煩,尤其是當 Token 過期或需要頻繁測試接口時。為了自動化獲取和配置 Token,可以通過 Postman 的?環境變量?和?Pre-request Script?功能來實現。以下是具體步驟:
-
開 Postman,點擊右上角的?Environment Quick Look(眼睛圖標)或者左側菜單欄的Environments。
-
點擊?Add?創建一個新的環境(例如命名為?
My API Environment
)。 -
在環境變量中添加一個變量,比如?
token
,用于存儲 Token 值。 -
有一個獲取Token的接口,url method body;
-
配置獲取Token的請求? :在 Postman 中創建一個新的請求,命名為?
Get Token;
填寫獲取 Token 的接口信息(URL、Method、Body 等);在?Tests?標簽頁中,編寫腳本將 Token 保存到環境變量中:
// 解析響應數據
const response = pm.response.json();// 檢查響應中是否包含 Token
if (response.token) {// 將 Token 保存到環境變量pm.environment.set("token", response.token);console.log("Token 已保存到環境變量:", response.token);
} else {console.log("響應中未找到 Token");
}
?
? ? ?
注意事項:
確保接口的響應數據中包含?
token
?字段。如果接口返回的字段名不是?
token
,需要根據實際字段名修改腳本(例如?response.access_token
)。
? ? 6.如果 Token 有過期時間,可以在每次請求前檢查 Token 是否過期,并自動獲取新的 Token。
? ? ?6_1.在?Pre-request Script?中編寫腳本:
// 檢查 Token 是否存在或過期
const token = pm.environment.get("token");
const tokenExpiry = pm.environment.get("token_expiry"); // 假設你存儲了 Token 過期時間if (!token || (tokenExpiry && new Date(tokenExpiry) < new Date())) {// 如果 Token 不存在或過期,發送獲取 Token 的請求pm.sendRequest({url: '登錄接口或者是專門獲取token的接口',method: 'POST',header: {'Content-Type': 'application/json'},body: {mode: 'raw',raw: JSON.stringify({username: "your_username",password: "your_password"})}}, function (err, res) {const response = res.json();// 保存新的 Token 和過期時間pm.environment.set("token", response.token);pm.environment.set("token_expiry", new Date(new Date().getTime() + response.expires_in * 1000)); // 假設返回了 expires_in});
}
7.在其他請求中使用token
? ? ? 7_1.在其他需要 Token 的請求中,可以通過?{{token}}
?引用環境變量中的 Token:
8.通過上述第五步 直接Send發送請求接口可以看到返回的相關的token 、expires_in等,創建的環境中token的值就會自動填寫;當你在請求其他接口時就不需要手動的CVtoken數據啦