使用Postman測試需要授權的接口問題
Postman是一款免費的http模擬請求工具,常用來測試開發(fā)接口。實際場景中,很多接口是需要授權才能使用。這就需要Postman獲取授權,把返回的token保存,在調用其他接口時連同token一起傳遞。
我所在的項目基于spring全家桶,正常流程是:調用獲取驗證碼接口 -> 登錄接口 -> 調用業(yè)務接口 。
- 新建一個登錄請求
"{{參數名}}"代表Postman的環(huán)境變量 captchaKey 調用獲取驗證碼返回 captchaCode 驗證碼,因為是測試環(huán)境,固定8888
- 發(fā)送請求前執(zhí)行代碼
切換到 Pre-request Script ,編寫請求驗證碼接口腳本
var captchaApi = pm.environment.get("sa-gateway-host") + "/sa-auth/captcha"; pm.sendRequest(captchaApi, function (err, response) { //獲取返回值 var responseBody =JSON.parse(response.text()); //判斷返回值是否有data參數 if (responseBody.data) { //如果有則此次驗證通過 tests["first has data"] = true; //獲取需要的參數 var captchaKey = responseBody.data.captchaKey; //打印獲取的參數 console.log("response.data --> " + captchaKey); //將值寫入當前選中的環(huán)境中 變成環(huán)境變量 postman.setEnvironmentVariable("captchaKey", captchaKey); } });
- 登錄后保存token
切換到 Tests ,編寫請求登錄后的處理腳本
//獲取返回值 var response =JSON.parse(responseBody); //判斷返回值是否有data參數 if (response.access_token) { //如果有則此次驗證通過 tests["first has data"] = true; //獲取需要的參數 var access_token = response.access_token; //打印獲取的參數 console.log("access_token --> " + access_token); //將值寫入當前選中的環(huán)境中 變成環(huán)境變量 postman.setEnvironmentVariable("header-authorization", "Bearer "+access_token); }
到這里,Postman模擬登錄請求完成。
腳本基于javascript語法,對于web開發(fā)者非常簡單。
Postman專用函數和更多用法參考:learning.postman.com/docs/writin…
測試
發(fā)送請求,在Postman控件臺有輸出日志
此時變量 captchaKey 和 header-authorization 的值是接口返回的值。
再新建一個接口,在header中傳入登錄后返回的授權信息。
不同系統(tǒng)的接口設計不一樣。我的項目是在header中加入 Authorization 字段傳遞授權信息。
執(zhí)行接口請求,返回成功。
舉一反三
很多APP的接口會對數據加密。新建一個加密服務,用腳本使Postman在發(fā)送數據前先請求加密服務獲取密文,再發(fā)送。然后處理返回結果,請求加密服務解密,就能實現接口測試了。
到此這篇關于用Postman測試需要授權的接口的文章就介紹到這了,更多相關Postman授權的接口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
完全卸載VSCode--解決卸載重新安裝后還有原來配置的問題(圖解)
這篇文章主要介紹了完全卸載VSCode--解決卸載重新安裝后還有原來配置的問題,本文給大家分享VSCode卸載不徹底的問題,需要的朋友可以參考下2020-04-04詳解Visual Studio使用Git忽略不想上傳到遠程倉庫的文件
這篇文章主要介紹了Visual Studio使用Git忽略不想上傳到遠程倉庫的文件,本文通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11