使用Postman實現(xiàn)Azure REST API全攻略

來源:微軟中國MSDN
作者:Kumar Allamraju
時間:2020-07-28
4147
作為一款A(yù)PI集成測試的強大工具,Postman廣泛應(yīng)用于包含持久化數(shù)據(jù)和系統(tǒng)用戶交互模擬等場景中,以獲得可重用和可靠的測試結(jié)果。本文將詳細解讀如何使用Postman進行Azure REST API的測試及驗證。

作為一款A(yù)PI集成測試的強大工具,Postman廣泛應(yīng)用于包含持久化數(shù)據(jù)和系統(tǒng)用戶交互模擬等場景中,以獲得可重用和可靠的測試結(jié)果。本文將詳細解讀如何使用Postman進行REST API的測試及驗證。

首先,下載并安裝適用操作系統(tǒng)的Postman原生應(yīng)用:https://www.getpostman.com/downloads/

啟動Postman應(yīng)用程序并創(chuàng)建相應(yīng)的新環(huán)境。在本文示例中,筆者將其命名為“azuretips”。

如需了解更多關(guān)于創(chuàng)建環(huán)境的信息,可參考此鏈接:

https://learning.getpostman.com/docs/postman/environments_and_globals/manage_environments/

從Azure Cloud Shell中創(chuàng)建一個service principal。這種情況下用戶無需在本機中安裝Azure CLI。

az ad sp create-for-rbac-n"your service principal name"

e.g.az ad sp create-for-rbac-n"azuretips"

Creating a role assignment under the scope of"/subscriptions/11389280-b2a2-***********"

  Retrying role assignment creation:1/36

  Retrying role assignment creation:2/36

  Retrying role assignment creation:3/36

{

  "appId":"d2846107-f7ae-439b-8a16-da440d52e950",

  "displayName":"azuretips",

  "name":"https://azuretips",

"password":"00593485-8bda-4c2b-8c4e-2ab52241c24c",

"tenant":"72f98xxx-86f1-41af-****"

}

在cloud shell中執(zhí)行以下命令以獲取Azure訂閱ID

az account show--query id

"11389280-b2a2-4183-b757-xxxxxx"

在Postman的“azuretips”環(huán)境部分輸入第二步創(chuàng)建的tenantid(租戶)、clientid(appId)、clientsecret(密碼)和subid(訂閱ID)。詳情可參考下方截圖:

ia_1500000002.jpg

在Postman應(yīng)用程序中創(chuàng)建一個新的收藏夾,將所有REST調(diào)用存儲在隔離的分區(qū)中。

如需了解更多關(guān)于Postman收藏夾的信息,可參考:https://learning.getpostman.com/docs/postman/launching_postman/creating_the_first_collection/

在執(zhí)行任何Azure REST API調(diào)用前,用戶須獲取承載令牌(bearer token)。

發(fā)出POST請求https://login.microsoftonline.com/:tenantid/oauth2/token

詳細信息如下

-Params Tab>>Path Variables.

Key:tenantid

Value:{{tenantid}}

-Authroization Tab

Type:Inherit auth from parent

-Headers Tab

Content-Type:application/x-www-form-urlencoded

-Body tab

grant_type:client_credentials

client_id:{{clientid}}

client_secret:{{clientsecret}}

resource:https://management.azure.com/

-following value in the Tests tab

pm.environment.set("bearerToken",pm.response.json().access_token);

ia_1500000003.jpg

ia_1500000004.jpg

有些用戶可能認為這些步驟工作量巨大,但其實只需要在Postman中設(shè)置一次。用戶可以與其他工作伙伴共享、再利用或復(fù)制此環(huán)境。

獲取承載令牌(bearer token)后,可執(zhí)行Azure REST API以獲取資源組(Resource Groups)、某一特定資源組詳情和虛擬網(wǎng)絡(luò)(VNet)等信息。

舉個例子,用戶為獲取Azure訂閱中的資源組詳細信息而發(fā)出GET請求,如圖所示:

ia_1500000005.jpg

如需使用正確的GET或POST請求調(diào)用Azure REST API可點擊此鏈接了解詳情:

Azure REST APIs:https://docs.microsoft.com/en-us/rest/api/?view=Azure

小結(jié)

Postman是一款全面的API測試工具,能夠輕松設(shè)置自動測試。用戶可以將創(chuàng)建的測試和請求集成到單個自動化測試序列中。Postman是唯一完整提供單一事實來源[1]的API開發(fā)和測試環(huán)境。在本文中筆者詳細介紹了利用Azure REST APIs使用Postman的方式。

Postman:https://www.getpostman.com/automated-testing?_ga=2.53476456.151619731.1566574042-329050526.1563821057

Azure REST APIs:https://docs.microsoft.com/en-us/rest/api/?view=Azure

譯者注

單一事實來源,即SSOT(single source of truth),通過構(gòu)建信息模型和相關(guān)數(shù)據(jù)架構(gòu),從而根據(jù)單一位置掌握(或編輯)系統(tǒng)中的每個數(shù)據(jù)元素。用戶只需引用此數(shù)據(jù)元素的關(guān)聯(lián)信息,該信息可能位于關(guān)系架構(gòu)的某個區(qū)域,甚至可能位于遙遠的聯(lián)合數(shù)據(jù)庫中。由于數(shù)據(jù)的所有其他位置僅引用主“事實來源”位置,主位置中數(shù)據(jù)元素的更新將傳播到整個系統(tǒng),且不會遺忘某個位置的重復(fù)值。

原文鏈接:點擊前往 >
文章來源:微軟中國MSDN
版權(quán)說明:本文內(nèi)容來自于微軟中國MSDN,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家