什么是變量寓盗?
變量是可以采用不同值的符號(hào)叮阅。您可能熟悉來(lái)自您以前的編程經(jīng)驗(yàn)的其他語(yǔ)言的變量矩乐。Postman中的變量工作方式與之同理龄句。
為什么使用變量?
變量允許您在多個(gè)地方重復(fù)使用值散罕,以便您可以讓你的代碼更高效(不用重復(fù)工作)分歇。此外,可以更改一次變量值欧漱,就能改變其他代碼中的所有相關(guān)聯(lián)的值职抡。
假設(shè)您有3個(gè)使用相同域名的API端點(diǎn)your-domain.com
。您可在該網(wǎng)站保存為一個(gè)變量误甚,而不是重復(fù)的值缚甩,可以使用在請(qǐng)求構(gòu)建器中使用{{domain}}/endpoint1
和{{domain}}/endpoint2
。現(xiàn)在窑邦,如果您的域更改為another-domain.com
擅威,您只需要更改此值一次就可以了。
使用Postman的腳本引擎冈钦,您可以設(shè)置變量值郊丛,從一個(gè)請(qǐng)求復(fù)制數(shù)據(jù)并將其用于另一個(gè)請(qǐng)求等等。
變量作用域
以下范圍可供您使用:
- 全局
- 環(huán)境
- 本地
- 數(shù)據(jù)
作用域可以被視為值駐留的不同種類的空間瞧筛。如果一個(gè)變量在兩個(gè)不同的作用域中厉熟,則優(yōu)先級(jí)較高的作用域?qū)俪觯兞繌脑撝但@取其值驾窟。Postman使用這種層次結(jié)構(gòu)從廣泛到狹義的形式來(lái)解決作用域的問題庆猫。
如果來(lái)自當(dāng)前活動(dòng)環(huán)境的變量與全局變量共享其名稱,環(huán)境變量將優(yōu)先使用绅络。換句話說(shuō)月培,全局變量被環(huán)境變量覆蓋,這些變量被數(shù)據(jù)變量覆蓋僅在集合運(yùn)行中可用 )恩急。
訪問請(qǐng)求構(gòu)建器中的變量
變量可以在Postman用戶界面中以下列形式使用 ——{{variableName}}
杉畜。當(dāng)Postman解析變量時(shí),字符串{{variableName}}將替換為相應(yīng)的值衷恭。例如此叠,對(duì)于值為“http:// localhost”的環(huán)境變量“url”,您必須在請(qǐng)求URL字段中使用{{url}}
随珠。 {{url}}
將在請(qǐng)求發(fā)送時(shí)被替換成http://localhost
灭袁。
由于使用字符串替換訪問請(qǐng)求構(gòu)建器中的變量猬错,因此可以在請(qǐng)求構(gòu)建器中的任何位置使用它們,您可以在其中添加文本茸歧。這包括URL倦炒,URL參數(shù),header软瞎,授權(quán)逢唤,請(qǐng)求正文和header預(yù)設(shè)。Postman根據(jù)“變量作用域”部分中討論的作用域規(guī)則評(píng)估變量涤浇,并將其發(fā)送到服務(wù)器鳖藕。
通過(guò)腳本訪問變量
變量也可以用在預(yù)請(qǐng)求和測(cè)試腳本中。由于這些腳本部分是用JavaScript編寫的只锭,因此您將以不同的方式初始化和檢索這些變量著恩。您可以在腳本中初始化變量并將其放在特定的作用域內(nèi)。
- 在腳本中定義變量:
- 要在腳本中設(shè)置變量纹烹,請(qǐng)根據(jù)所需的作用域使用
setEnvironmentVariable()
方法或setGlobalVariable()
方法页滚。該方法需要變量鍵和值作為參數(shù)來(lái)設(shè)置變量。當(dāng)您發(fā)送請(qǐng)求時(shí)铺呵,腳本將被評(píng)估裹驰,該值將作為變量存儲(chǔ)。
- 要在腳本中設(shè)置變量纹烹,請(qǐng)根據(jù)所需的作用域使用
- 獲取預(yù)定義的變量:
- 一旦設(shè)置了變量片挂,使用
getEnvironmentVariable()
方法或getGlobalVariable()
方法取決于適當(dāng)?shù)淖饔糜騺?lái)獲取變量幻林。該方法需要變量名作為參數(shù)來(lái)檢索腳本中存儲(chǔ)的值。
- 一旦設(shè)置了變量片挂,使用
- 在作用域內(nèi)設(shè)置變量:
- 可以使用相應(yīng)的環(huán)境模板訪問環(huán)境變量音念。無(wú)論選定的環(huán)境如何沪饺,都可以廣泛地訪問全局變量。
記錄變量
通常在腳本中使用變量時(shí)闷愤,您需要看到他們獲得的值整葡。您可以使用Postman控制臺(tái)輕松實(shí)現(xiàn)。從應(yīng)用程序菜單中讥脐,選擇“查看(View)”遭居,然后選擇“顯示Postman控制臺(tái)(Show Postman Console)”。要記錄變量的值旬渠,可以在腳本中使用console.log(foo);
俱萍。發(fā)送請(qǐng)求時(shí),將對(duì)腳本進(jìn)行評(píng)估告丢,變量的值將被記錄在Postman控制臺(tái)中枪蘑。
數(shù)據(jù)變量
Collection Runner可以導(dǎo)入CSV或JSON文件,然后使用HTTP請(qǐng)求和腳本中的數(shù)據(jù)文件中的值。我們稱這些數(shù)據(jù)變量岳颇。要在Postman中使用它們照捡,請(qǐng)遵循與環(huán)境或全局變量相同的語(yǔ)法。
請(qǐng)求中的數(shù)據(jù)變量
Postman UI中的變量包含在大括號(hào)內(nèi)赦役。例如麻敌,在下面的屏幕截圖, 和內(nèi)部URL參數(shù)將由從數(shù)據(jù)文件對(duì)應(yīng)的值取代:{{username}}``{{password}}
預(yù)請(qǐng)求和測(cè)試腳本中的數(shù)據(jù)變量
在預(yù)請(qǐng)求和測(cè)試腳本中掂摔,特殊data
對(duì)象包含從數(shù)據(jù)文件中為特定迭代加載的值。例如赢赊, data.username
或者 data["username"]
讓您從數(shù)據(jù)文件訪問用戶名變量的值乙漓。
了解有關(guān)處理數(shù)據(jù)文件的更多信息 。
動(dòng)態(tài)變量
Postman有一些動(dòng)態(tài)變量释移,您可以在您的請(qǐng)求中使用叭披。動(dòng)態(tài)變量不能在沙箱中使用。您只能在請(qǐng)求URL / headers / body 中使用{{..}}
的格式 玩讳。
-
{{$guid}}
:添加v4風(fēng)格的guid -
{{$timestamp}}
:添加當(dāng)前時(shí)間戳 -
{{$randomInt}}
:添加0到1000之間的隨機(jī)整數(shù)
快速查找變量
Quick Look是一個(gè)快速預(yù)覽功能涩蜘,可以在一個(gè)地方顯示所有的環(huán)境和全局變量。點(diǎn)擊右上角的“眼睛”圖標(biāo)來(lái)切換顯示熏纯,或者輸入鍵盤快捷鍵(CMD / CTRL + ALT + E)同诫。
自動(dòng)完成和工具提示變量
Postman變量非常強(qiáng)大,有兩個(gè)功能 ——自動(dòng)完成和工具提示樟澜,使其更加方便误窖。
變量自動(dòng)填充
鍵入打開的卷軸括起來(lái)啟動(dòng)自動(dòng)完成菜單。對(duì)于使用數(shù)據(jù)編輯器的預(yù)請(qǐng)求和測(cè)試腳本部分 秩贰,輸入變量的第一個(gè)字母會(huì)觸發(fā)自動(dòng)完成霹俺。該菜單包含當(dāng)前環(huán)境中所有變量的列表,后跟全局變量毒费。瀏覽列表還顯示每個(gè)變量的當(dāng)前值和范圍丙唧,以及覆蓋變量的反饋。
懸停時(shí)可變高亮顯示和工具提示
變量以橙色突出顯示觅玻,未解析的變量以紅色顯示想际。懸停在變量上顯示其當(dāng)前值和范圍。如果變量未解決 ——即當(dāng)前環(huán)境中沒有值 串塑,工具提示顯示適當(dāng)?shù)姆答仭?/p>