什么是變量?
變量是可以采用不同值的符號。您可能熟悉來自您以前的編程經(jīng)驗的其他語言的變量。Postman中的變量工作方式與之同理。
為什么使用變量?
變量允許您在多個地方重復(fù)使用值,以便您可以讓你的代碼更高效(不用重復(fù)工作)。此外,可以更改一次變量值,就能改變其他代碼中的所有相關(guān)聯(lián)的值。
假設(shè)您有3個使用相同域名的API端點(diǎn)your-domain.com。您可在該網(wǎng)站保存為一個變量,而不是重復(fù)的值,可以使用在請求構(gòu)建器中使用{{domain}}/endpoint1和{{domain}}/endpoint2?,F(xiàn)在,如果您的域更改為another-domain.com,您只需要更改此值一次就可以了。
使用Postman的腳本引擎,您可以設(shè)置變量值,從一個請求復(fù)制數(shù)據(jù)并將其用于另一個請求等等。
變量作用域
以下范圍可供您使用:
- 全局
- 環(huán)境
- 本地
- 數(shù)據(jù)
作用域可以被視為值駐留的不同種類的空間。如果一個變量在兩個不同的作用域中,則優(yōu)先級較高的作用域?qū)俪?,變量從該值獲取其值。Postman使用這種層次結(jié)構(gòu)從廣泛到狹義的形式來解決作用域的問題。
如果來自當(dāng)前活動環(huán)境的變量與全局變量共享其名稱,環(huán)境變量將優(yōu)先使用。換句話說,全局變量被環(huán)境變量覆蓋,這些變量被數(shù)據(jù)變量覆蓋僅在集合運(yùn)行中可用 )。
訪問請求構(gòu)建器中的變量
變量可以在Postman用戶界面中以下列形式使用 ——{{variableName}} 。當(dāng)Postman解析變量時,字符串{{variableName}}將替換為相應(yīng)的值。例如,對于值為“http:// localhost”的環(huán)境變量“url”,您必須在請求URL字段中使用{{url}}。 {{url}}將在請求發(fā)送時被替換成http://localhost 。
由于使用字符串替換訪問請求構(gòu)建器中的變量,因此可以在請求構(gòu)建器中的任何位置使用它們,您可以在其中添加文本。這包括URL,URL參數(shù),header,授權(quán),請求正文和header預(yù)設(shè)。Postman根據(jù)“變量作用域”部分中討論的作用域規(guī)則評估變量,并將其發(fā)送到服務(wù)器。
通過腳本訪問變量
變量也可以用在預(yù)請求和測試腳本中。由于這些腳本部分是用JavaScript編寫的,因此您將以不同的方式初始化和檢索這些變量。您可以在腳本中初始化變量并將其放在特定的作用域內(nèi)。
- 在腳本中定義變量:
- 要在腳本中設(shè)置變量,請根據(jù)所需的作用域使用
setEnvironmentVariable()方法或setGlobalVariable()方法。該方法需要變量鍵和值作為參數(shù)來設(shè)置變量。當(dāng)您發(fā)送請求時,腳本將被評估,該值將作為變量存儲。
- 要在腳本中設(shè)置變量,請根據(jù)所需的作用域使用
- 獲取預(yù)定義的變量:
- 一旦設(shè)置了變量,使用
getEnvironmentVariable()方法或getGlobalVariable()方法取決于適當(dāng)?shù)淖饔糜騺慝@取變量。該方法需要變量名作為參數(shù)來檢索腳本中存儲的值。
- 一旦設(shè)置了變量,使用
- 在作用域內(nèi)設(shè)置變量:
- 可以使用相應(yīng)的環(huán)境模板訪問環(huán)境變量。無論選定的環(huán)境如何,都可以廣泛地訪問全局變量。
記錄變量
通常在腳本中使用變量時,您需要看到他們獲得的值。您可以使用Postman控制臺輕松實(shí)現(xiàn)。從應(yīng)用程序菜單中,選擇“查看(View)”,然后選擇“顯示Postman控制臺(Show Postman Console)”。要記錄變量的值,可以在腳本中使用console.log(foo);。發(fā)送請求時,將對腳本進(jìn)行評估,變量的值將被記錄在Postman控制臺中。
數(shù)據(jù)變量
Collection Runner可以導(dǎo)入CSV或JSON文件,然后使用HTTP請求和腳本中的數(shù)據(jù)文件中的值。我們稱這些數(shù)據(jù)變量。要在Postman中使用它們,請遵循與環(huán)境或全局變量相同的語法。
請求中的數(shù)據(jù)變量
Postman UI中的變量包含在大括號內(nèi)。例如,在下面的屏幕截圖, 和內(nèi)部URL參數(shù)將由從數(shù)據(jù)文件對應(yīng)的值取代:{{username}}``{{password}}
預(yù)請求和測試腳本中的數(shù)據(jù)變量
在預(yù)請求和測試腳本中,特殊data 對象包含從數(shù)據(jù)文件中為特定迭代加載的值。例如, data.username 或者 data["username"] 讓您從數(shù)據(jù)文件訪問用戶名變量的值。
了解有關(guān)處理數(shù)據(jù)文件的更多信息 。
動態(tài)變量
Postman有一些動態(tài)變量,您可以在您的請求中使用。動態(tài)變量不能在沙箱中使用。您只能在請求URL / headers / body 中使用{{..}}的格式 。
-
{{$guid}}:添加v4風(fēng)格的guid -
{{$timestamp}}:添加當(dāng)前時間戳 -
{{$randomInt}}:添加0到1000之間的隨機(jī)整數(shù)
快速查找變量
Quick Look是一個快速預(yù)覽功能,可以在一個地方顯示所有的環(huán)境和全局變量。點(diǎn)擊右上角的“眼睛”圖標(biāo)來切換顯示,或者輸入鍵盤快捷鍵(CMD / CTRL + ALT + E)。
自動完成和工具提示變量
Postman變量非常強(qiáng)大,有兩個功能 ——自動完成和工具提示,使其更加方便。
變量自動填充
鍵入打開的卷軸括起來啟動自動完成菜單。對于使用數(shù)據(jù)編輯器的預(yù)請求和測試腳本部分 ,輸入變量的第一個字母會觸發(fā)自動完成。該菜單包含當(dāng)前環(huán)境中所有變量的列表,后跟全局變量。瀏覽列表還顯示每個變量的當(dāng)前值和范圍,以及覆蓋變量的反饋。
懸停時可變高亮顯示和工具提示
變量以橙色突出顯示,未解析的變量以紅色顯示。懸停在變量上顯示其當(dāng)前值和范圍。如果變量未解決 ——即當(dāng)前環(huán)境中沒有值 ,工具提示顯示適當(dāng)?shù)姆答仭?/p>




