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