使用Postman測(cè)試需要授權(quán)的接口問題
Postman是一款免費(fèi)的http模擬請(qǐng)求工具,常用來測(cè)試開發(fā)接口。實(shí)際場(chǎng)景中,很多接口是需要授權(quán)才能使用。這就需要Postman獲取授權(quán),把返回的token保存,在調(diào)用其他接口時(shí)連同token一起傳遞。
我所在的項(xiàng)目基于spring全家桶,正常流程是:調(diào)用獲取驗(yàn)證碼接口 -> 登錄接口 -> 調(diào)用業(yè)務(wù)接口 。
- 新建一個(gè)登錄請(qǐng)求

"{{參數(shù)名}}"代表Postman的環(huán)境變量 captchaKey 調(diào)用獲取驗(yàn)證碼返回 captchaCode 驗(yàn)證碼,因?yàn)槭菧y(cè)試環(huán)境,固定8888
- 發(fā)送請(qǐng)求前執(zhí)行代碼
切換到 Pre-request Script ,編寫請(qǐng)求驗(yàn)證碼接口腳本
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) {
//如果有則此次驗(yàn)證通過
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 ,編寫請(qǐng)求登錄后的處理腳本
//獲取返回值
var response =JSON.parse(responseBody);
//判斷返回值是否有data參數(shù)
if (response.access_token) {
//如果有則此次驗(yàn)證通過
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模擬登錄請(qǐng)求完成。
腳本基于javascript語法,對(duì)于web開發(fā)者非常簡(jiǎn)單。
Postman專用函數(shù)和更多用法參考:learning.postman.com/docs/writin…
測(cè)試
發(fā)送請(qǐng)求,在Postman控件臺(tái)有輸出日志

此時(shí)變量 captchaKey 和 header-authorization 的值是接口返回的值。
再新建一個(gè)接口,在header中傳入登錄后返回的授權(quán)信息。

不同系統(tǒng)的接口設(shè)計(jì)不一樣。我的項(xiàng)目是在header中加入 Authorization 字段傳遞授權(quán)信息。
執(zhí)行接口請(qǐng)求,返回成功。

舉一反三
很多APP的接口會(huì)對(duì)數(shù)據(jù)加密。新建一個(gè)加密服務(wù),用腳本使Postman在發(fā)送數(shù)據(jù)前先請(qǐng)求加密服務(wù)獲取密文,再發(fā)送。然后處理返回結(jié)果,請(qǐng)求加密服務(wù)解密,就能實(shí)現(xiàn)接口測(cè)試了。
到此這篇關(guān)于用Postman測(cè)試需要授權(quán)的接口的文章就介紹到這了,更多相關(guān)Postman授權(quán)的接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IIS 301重定向與程序代碼實(shí)現(xiàn)301重定向的差別
過IIS做301重定向確可以實(shí)現(xiàn)傳遞網(wǎng)站的權(quán)重,還不會(huì)導(dǎo)致流量丟失。2010-11-11
IntelliJ IDEA2020.3 新特性(小結(jié))
這篇文章主要介紹了IntelliJ IDEA 2020.3 新特性,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-12-12
vscode+picgo+github配置免費(fèi)圖床(圖文教程)
本文主要介紹了vscode+picgo+github配置免費(fèi)圖床,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

