Postman接口自動化測試--變量的使用

使用變量
變量使您可以在請求和腳本中存儲和重用值。通過將值存儲在變量中,可以在整個集合,環境和請求中引用它-如果需要更新值,則只需在一個位置進行更改。使用變量可以提高有效工作的能力,並最大程度地減少出錯的可能性。

變量快速入門

要使用變量,請使用以下步驟:
單擊Postman 右上角的環境快速查看(眼睛按鈕),然後單擊Globals旁邊的Edit。
添加一個名爲的變量my_variable,並將其初始值設置爲— Hello單擊“ 保存”並關閉環境模式。
打開一個新的請求選項卡,然後輸入https://postman-echo.com/get?var={{my_variable}}作爲URL。將鼠標懸停在變量名稱上,您將看到該值。
發送請求。在響應中,您將看到Postman將變量值發送到了API。嘗試在“環境”快速查看中更改值,然後再次發送請求。
請繼續閱讀以獲取有關如何在Postman中使用變量的更多詳細信息。

瞭解變量和環境

Postman支持不同範圍的變量,使您可以根據各種開發,測試和其他產品需要定製處理。Postman中的範圍與您的請求在Postman應用程序中,集合中,環境中以及Newman / Collection Runner中運行的不同上下文相關。
Postman會將環境和全局變量存儲爲字符串。如果要存儲對象或數組,請JSON.stringify()在存儲之前記住它們,並JSON.parse()在檢索它們時記住它們。

Postman的環境

例如,如果您的基本網址存儲在名爲的變量中base_url,則可以使用在請求中引用它{{base_url}}。無論您在請求運行時引用變量的何處,變量中存儲的任何值都將包括在內。如果基本URL值爲https://httpbin.org,並且使用列爲請求URL的一部分,則{{base_url}}/get?customers=newPostman會將請求發送給https://httpbin.org/get?customers=new。

要創建環境,請使用“ Postman右上角的“ Manage environments”按鈕,然後單擊“ Add”。爲您的環境命名,例如“ Testing”(測試),您可以在創建時或以後通過編輯環境來添加變量。
要選擇在其中運行請求的環境,請使用Postman應用程序右上方的下拉菜單。

在這裏插入圖片描述
您的請求將與所選環境中列出的數據變量一起運行。
您可以在“ Manage environments境”中複製,刪除,下載/導入環境JSON,並與協作者共享環境。共享環境使您可以讓其他人針對相同的數據集運行您的請求。
在這裏插入圖片描述
在這裏插入圖片描述

爲了安全地共享環境,請創建副本並首先刪除所有敏感數據,例如auth值。當您的協作者導入環境時,他們可以輸入自己的憑據。您對共享環境所做的任何更改都會在整個團隊的訪問權限中得到反映。

可變範圍

Postman支持以下可變範圍:
全球
集合
環境
數據
本地
在這裏插入圖片描述
如果在兩個不同的範圍內聲明瞭具有相同名稱的變量,則將使用範圍最窄的變量中存儲的值-例如,如果有一個全局變量和一個局部變量都名爲username,則在請求時將使用局部值運行。

選擇變量

變量範圍適用於Postman中的不同任務:
全局變量使您可以訪問集合,請求,測試腳本和環境之間的數據。
o由於全局變量可能會造成混亂,因此您僅應謹慎使用它們,例如快速測試某些東西或項目處於原型開發初期。
集合變量可在集合中的整個請求中使用,並且獨立於環境,因此不要根據所選環境而更改。
如果僅使用單個環境(例如,用於auth / URL詳細信息),則收集變量是合適的。
環境變量使您可以針對不同環境定製處理,例如本地開發與測試或生產。一次只能激活一個環境。
如果只有一個環境,則使用集合變量會更有效。
局部變量是臨時的,只能在您的請求腳本中訪問。局部變量值的範圍僅限於單個請求或收集運行,並且在運行完成後不再可用。
o如果您需要一個值來覆蓋所有其他變量作用域,但又不想在執行結束後保留​​該值,則部變量是合適的。
數據變量來自外部CSV和JSON文件,以定義在通過Newman或Collection Runner運行集合時可以使用的數據集。
在這裏插入圖片描述

定義變量

您可以通過多種方式定義變量,具體取決於您需要的是global / environment還是集合範圍。請記住刪除不再使用的變量。

定義全局變量和環境變量

要在全局或環境範圍內創建或編輯變量,請使用“ Environment quick Look”快速查看,然後單擊環境或全局變量旁邊的“ Edit”。
在這裏插入圖片描述

快速查看視圖爲您正在使用的任何全局變量或環境變量的當前狀態提供了參考,您也可以使用鍵盤快捷鍵訪問快速查看CMD/CTRL + ALT + E。

或者,單擊“Manage environment”並選擇相關環境,或單擊“Globals”。
在這裏插入圖片描述
在這裏插入圖片描述
如果尚未創建新環境,則可以創建一個新環境。
選擇範圍後,可以指定變量detail。
您還可以在腳本中定義全局變量和環境變量。

定義集合變量

要創建或編輯現有集合的變量,在選擇集合左側Postman的應用程序,打開查看更多動作(…)菜單,然後單擊“Edit”。
在這裏插入圖片描述
選擇“ Variables”選項卡以編輯或添加到集合變量。
在這裏插入圖片描述
您可以在創建新集合時添加集合變量。
您還可以在腳本中定義集合變量。

變量詳細信息

您可以隨時添加和編輯變量。您需要爲新變量包括的只是一個名稱-您可以選擇提供一個初始值,但也可以稍後再設置它,包括從腳本中進行設置。使用複選框啓用或禁用變量。
在這裏插入圖片描述
共享集合或環境時,將共享初始值。當前值是本地值,不同步或共享。有關本地變量與同步變量的更多信息,請參見Postman中的會話。
您可以從Manage Environments下載全局變量作爲JSON 。
您可以通過選擇文本,右鍵單擊/ CTRL +單擊並按名稱選擇相關變量來將響應主體值設置爲變量。
在這裏插入圖片描述

在腳本中定義變量

您可以在請求腳本中以編程方式設置變量。
使用pm.globals定義一個全局變量:
pm.globals.set(“variable_key”, “variable_value”);
使用pm.collectionVariables定義一個收集變量:
pm.collectionVariables.set(“variable_key”, “variable_value”);
使用pm.environment定義環境變量(在當前選定的環境中):
pm.environment.set(“variable_key”, “variable_value”);
請查看“ 沙箱參考”,以獲取有關使用變量編寫腳本的更多信息。

定義局部變量

局部變量是您使用以下語法在請求腳本中設置的臨時值:
pm.variables.set(“variable_key”, “variable_value”);
局部變量不會在會話之間持久存在,但是允許您在執行請求或收集/監視運行期間臨時覆蓋所有其他範圍。例如,如果您需要爲在本地運行的單個請求或集合處理臨時測試值,並且不希望該值與您的團隊同步或在請求/集合完成運行後仍保持可用狀態,則可以使用本地變量。

訪問變量

您可以在Postman應用程序用戶界面中使用雙花括號來引用變量。例如,要在請求身份驗證設置中引用名爲“用戶名”的變量,可以使用以下語法,在名稱周圍使用雙花括號:
{{username}}
運行請求時,Postman將解析該變量並將其替換爲當前值。
例如,您可能有一個請求URL引用一個變量,如下所示:
http://pricey-trilby.glitch.me/customer?id={{cust_id}}
cust_id請求運行時,Postman將發送您當前爲該變量存儲的任何值。如果cust_id當前爲3,則請求將被髮送到以下包含查詢參數的URL:
http://pricey-trilby.glitch.me/customer?id=3
您可以在請求URL,參數,標頭,授權,正文和標頭預設中使用變量。
在這裏插入圖片描述
將鼠標懸停在變量上時,可以看到其當前狀態的概述。在請求中鍵入變量時,Postman會提示您當前定義的任何內容。
在這裏插入圖片描述
該提示將在相關時指示當前值,範圍(以顏色突出顯示)和覆蓋狀態。
在這裏插入圖片描述
如果未解析變量,Postman將以紅色突出顯示它。
在這裏插入圖片描述

在腳本中使用變量

您可以使用表示作用域級別和.get方法的對象在腳本中檢索變量的當前值:
//access a variable at any scope including local
pm.variables.get(“variable_key”);
//access a global variable
pm.globals.get(“variable_key”);
//access a collection variable
pm.collectionVariables.get(“variable_key”);
//access an environment variable
pm.environment.get(“variable_key”);
使用pm.variables.get()訪問腳本中的變量可以在不影響腳本功能的情況下更改變量範圍。此方法將返回當前優先級最高(或範圍最窄)的任何變量。

Postman會話

在Postman中編輯全局變量,集合變量和環境變量時,將看到單個變量和所有變量的Current Value,Persist和Reset選項。它們使您可以控制Postman本地實例中發生的情況,而與共享請求,集合和環境的任何人同步數據的方式無關。
在這裏插入圖片描述
您在Postman中的本地會話可以使用臨時值,並且僅對您可見。這樣一來,您就可以使用私人證書或實驗值進行開發和測試,而不必擔心暴露這些細節或影響團隊中的其他人。

例如,您的團隊可以具有一個共享的API密鑰和各個API密鑰-您可以使用個人密鑰在本地進行更多的實驗性開發工作,但可以使用共享的密鑰進行團隊協作。同樣,您可能有一個變量,表示您正在本地進行的探索性工作,但尚未準備好與團隊共享—您以後可以選擇保留本地數據,以便團隊中的其他人也可以訪問它。

創建或編輯變量時,可以輸入初始值和當前值。您可以選擇將當前值保留爲空,在這種情況下,它將默認爲初始值。如果您指定當前值,則該值僅在您的實例本地-Persist選項可讓您將當前值推送到共享數據,並更新初始值以匹配當前值。
使用Persist將使您當前的值與Postman的服務器同步,並反映給共享您的收藏或環境的任何人。要重置當前的本地值以反映初始(共享)值,請使用Reset。
您可以從“環境”快速外觀中內聯編輯當前值:
在這裏插入圖片描述
局部變量和數據變量僅具有當前值,該值不會超出請求或收集運行的範圍。

變量日誌

您可以在請求運行時將變量值記錄到Postman Console中。從Postman左下角的按鈕或“ 查看”菜單中打開控制檯。要記錄變量的值,請在腳本中使用以下語法:
console.log(pm.variables.get(“variable_key”));
在這裏插入圖片描述

使用參數文件

使用收集運行器,您可以導入CSV或JSON文件,並在請求和腳本中使用數據文件中的值。您無法在Postman中設置數據變量,因爲它是從數據文件中提取的,但是您可以在腳本中訪問數據變量,例如使用pm.iterationData.get(“variable_name”)。
有關更多信息,請參見使用數據文件和Sandbox API參考。

使用動態變量(自帶的系統變量)

Postman提供可在您的請求中使用的動態變量。
動態變量的示例如下:
{{KaTeX parse error: Expected 'EOF', got '}' at position 5: guid}̲} :v4樣式的guid {{timestamp}}:當前時間戳(Unix時間戳,以秒爲單位)
{{$randomInt}}:0到1000之間的隨機整數
有關完整列表,請參見“ 動態變量”部分。
在這裏插入圖片描述

發佈了90 篇原創文章 · 獲贊 23 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章