變量
變量是數(shù)據(jù)的符號(hào)表示,使您無(wú)需在需要的任何地方手動(dòng)輸入值即可訪問(wèn)值。如果您在多個(gè)地方使用相同的值,這會(huì)很有用。變量通過(guò)抽象細(xì)節(jié)使您的請(qǐng)求更加靈活和可讀。
例如,如果您在多個(gè)請(qǐng)求中具有相同的 URL,但該 URL 稍后可能會(huì)更改,您可以將 URL 存儲(chǔ)在一個(gè)變量base_url中并在您的請(qǐng)求中使用{{base_url}}. 如果 URL 發(fā)生變化,您可以更改變量值,它將反映在您的整個(gè)集合中,無(wú)論您使用了變量名稱。
同樣的原則適用于您的請(qǐng)求中重復(fù)數(shù)據(jù)的任何部分。無(wú)論您在請(qǐng)求運(yùn)行時(shí)引用該變量的任何位置,都將包含存儲(chǔ)在變量中的任何值。如果基本 URL 值是https://postman-echo.com,并且被列為請(qǐng)求 URL 的一部分{{base_url}}/get,Postman 會(huì)將請(qǐng)求發(fā)送到https://postman-echo.com/get.
Postman 中的變量是鍵值對(duì)。每個(gè)變量名代表它的鍵,所以引用變量名可以訪問(wèn)它的值。
您可以使用變量在請(qǐng)求和測(cè)試之間傳遞數(shù)據(jù)
您可以使用環(huán)境將變量集組合在一起并與協(xié)作者共享它們,例如,如果您將一組配置詳細(xì)信息用于生產(chǎn)服務(wù)器,另一組用于測(cè)試。
變量范圍
Postman 支持不同范圍的變量,允許您針對(duì)各種開(kāi)發(fā)、測(cè)試和協(xié)作任務(wù)定制處理。Postman 中的作用域與您的請(qǐng)求運(yùn)行的不同上下文相關(guān),不同的變量作用域適用于不同的任務(wù)。
優(yōu)先級(jí)由低到高:global < collection < environment < data < local
- 全局變量 global 使您能夠訪問(wèn)集合、請(qǐng)求、測(cè)試腳本和環(huán)境之間的數(shù)據(jù)。全局變量在整個(gè)工作區(qū)中都可用。由于全局變量在 Postman 中具有最廣泛的可用范圍,因此它們非常適合測(cè)試和原型設(shè)計(jì)。在以后的開(kāi)發(fā)階段,使用更具體的范圍。
- 集合變量 collection 在集合中的整個(gè)請(qǐng)求中都可用,并且獨(dú)立于環(huán)境。集合變量不會(huì)根據(jù)所選環(huán)境而改變。如果您使用單一環(huán)境,例如用于身份驗(yàn)證或 URL 詳細(xì)信息,則集合變量是合適的。
- 環(huán)境變量 environment 使您能夠?qū)⒐ぷ鞣秶薅ǖ讲煌沫h(huán)境,例如本地開(kāi)發(fā)與測(cè)試或生產(chǎn)。一次可以激活一個(gè)環(huán)境。如果你有一個(gè)單一的環(huán)境,使用集合變量會(huì)更有效,但是環(huán)境允許你指定基于角色的訪問(wèn)級(jí)別。
- 數(shù)據(jù)變量 data來(lái)自外部 CSV 和 JSON 文件,用于定義在使用Newman或Collection Runner運(yùn)行集合時(shí)可以使用的數(shù)據(jù)集。數(shù)據(jù)變量具有當(dāng)前值,在請(qǐng)求或收集運(yùn)行之后不會(huì)持續(xù)存在。
- 局部變量 local是在請(qǐng)求腳本中訪問(wèn)的臨時(shí)變量。局部變量值的范圍僅限于單個(gè)請(qǐng)求或收集運(yùn)行,并且在運(yùn)行完成后不再可用。如果您需要一個(gè)值來(lái)覆蓋所有其他變量范圍但不希望該值在執(zhí)行結(jié)束后持續(xù)存在,則局部變量是合適的。
如果在兩個(gè)不同的作用域中聲明了同名變量,則將使用存儲(chǔ)在具有優(yōu)先級(jí)作用域的變量中的值。例如,如果有一個(gè)名為 的global變量username和一個(gè)名為的local變量username,則請(qǐng)求運(yùn)行時(shí)將使用局部值。
Postman
將變量存儲(chǔ)為字符串。如果您存儲(chǔ)對(duì)象或數(shù)組,請(qǐng)JSON.stringify()在存儲(chǔ)之前記住它們,并JSON.parse()在檢索它們時(shí)記住它們。
變量類型
除了范圍之外,全局變量和環(huán)境變量也可以按類型定義。您可以為全局變量和環(huán)境變量配置的兩種變量類型是:
- default 默認(rèn)類型自動(dòng)分配給變量。此類型顯示為純文本,沒(méi)有其他屬性。
- secret秘密類型掩蓋了所有工作區(qū)成員的初始值和當(dāng)前值,可用于防止無(wú)意泄露敏感數(shù)據(jù),包括 API 秘密、密碼、令牌和密鑰。
對(duì)工作區(qū)(用于全局變量)或環(huán)境(用于環(huán)境變量)具有編輯器訪問(wèn)權(quán)限的用戶可以選擇將這些變量從默認(rèn)類型更改為機(jī)密類型。
無(wú)論您為變量配置什么類型,Postman 都將變量作為字符串存儲(chǔ)在其服務(wù)器上。要了解 Postman 如何保護(hù)您的數(shù)據(jù)安全
變量定義
您可以通過(guò)多種方式定義變量,具體取決于您是否需要全局、環(huán)境或集合范圍。
您還可以在請(qǐng)求構(gòu)建器的任何范圍內(nèi)定義變量:
-
選擇您需要的數(shù)據(jù),例如在地址、參數(shù)、標(biāo)題或正文中。選擇設(shè)置為變量。
-
選擇設(shè)置為新變量。
-
輸入Name,確認(rèn)Value正確,然后選擇范圍。選擇設(shè)置變量。
請(qǐng)記住刪除不再使用的變量。
定義全局變量
查看全局變量:
- 在邊欄中選擇環(huán)境
- 選擇全局變量。
添加一個(gè)新的全局變量:
- 選擇添加新變量,然后輸入變量的名稱。
- 為新變量選擇類型。
- 添加一個(gè)Initial Value,如果您選擇,添加一個(gè)Current Value。
- 選擇保存以確認(rèn)您的更改
要編輯現(xiàn)有的全局變量:
- 更改所需的變量值。
- 選擇 保存以確認(rèn)您的更改。
- 您還可以在腳本中定義全局變量
下載全局環(huán)境
要將全局變量下載為 JSON:
在邊欄中選擇環(huán)境。
選擇全局變量。
選擇導(dǎo)出。
選擇保存文件的位置,然后選擇保存
定義環(huán)境變量
添加一個(gè)新的環(huán)境變量:
- 選擇添加新變量,然后輸入變量的名稱。
- 為新變量選擇類型。
- 添加一個(gè)Initial Value,如果您選擇,添加一個(gè)Current Value。
- 選擇 保存以確認(rèn)您的更改
定義集合變量
您可以在創(chuàng)建集合時(shí)或之后的任何時(shí)間添加集合變量。
要為現(xiàn)有集合創(chuàng)建或編輯變量:
在邊欄中選擇收藏。
選擇一個(gè)集合,然后選擇變量選項(xiàng)卡。
在腳本中定義變量
您可以在請(qǐng)求腳本中以編程方式設(shè)置變量
方法 | 用例 | 例子 |
---|---|---|
pm.globals | 用于定義全局變量。 | pm.globals.set(“variable_key”, “variable_value”); |
pm.collectionVariables | 用于定義集合變量。 | pm.collectionVariables.set(“variable_key”, “variable_value”); |
pm.environment | 用于在當(dāng)前選擇的環(huán)境中定義一個(gè)環(huán)境變量。 | pm.environment.set(“variable_key”, “variable_value”); |
pm.variables | 用于定義局部變量。 | pm.variables.set(“variable_key”, “variable_value”); |
unset | 您可以使用unset刪除變量 | pm.environment.unset(“variable_key”); |
變量使用
您可以使用雙花括號(hào)來(lái)引用整個(gè) Postman 中的變量。例如,要在請(qǐng)求授權(quán)設(shè)置中引用名為“用戶名”的變量,您可以使用以下語(yǔ)法,并在名稱周圍加上雙花括號(hào):
{{username}}
當(dāng)您運(yùn)行請(qǐng)求時(shí),Postman 將解析變量并將其替換為當(dāng)前值。
例如,您可以有一個(gè)引用變量的請(qǐng)求 URL,如下所示:
https://postman-echo.com/get?customer_id={{cust_id}}
cust_idPostman 將在請(qǐng)求運(yùn)行時(shí)發(fā)送您當(dāng)前為變量存儲(chǔ)的任何值。如果cust_id是 current 3,請(qǐng)求將被發(fā)送到以下 URL,包括查詢參數(shù):
https://postman-echo.com/get?customer_id=3
如果您想從請(qǐng)求正文中訪問(wèn)變量,請(qǐng)將其引用括在雙引號(hào)中:
{ "customer_id" : "{{cust_id}}" }
您可以在請(qǐng)求 URL、參數(shù)、標(biāo)頭、授權(quán)、正文和標(biāo)頭預(yù)設(shè)中使用變量。
使用動(dòng)態(tài)變量
Postman 提供了可以在請(qǐng)求中使用的動(dòng)態(tài)變量。
動(dòng)態(tài)變量的示例包括:
- {{$guid}}: v4 風(fēng)格的 GUID
- {{$timestamp}}: 當(dāng)前的 Unix 時(shí)間戳,以秒為單位
- {{$randomInt}}: 0 到 1000 之間的隨機(jī)整數(shù)
在腳本中使用變量
您可以使用表示范圍級(jí)別的對(duì)象和方法來(lái)檢索腳本中變量的當(dāng)前值.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()訪問(wèn)腳本中的變量可以讓您在不影響腳本功能的情況下更改變量范圍。此方法將返回當(dāng)前具有最高優(yōu)先級(jí)(或最窄范圍)的任何變量。
要在預(yù)請(qǐng)求或測(cè)試腳本中使用動(dòng)態(tài)變量pm.variables.replaceIn(),請(qǐng)使用pm.variables.replaceIn(‘{{$randomFirstName}}’).
記錄變量
您可以在請(qǐng)求運(yùn)行時(shí)將變量值記錄到Postman 控制臺(tái)
在腳本中使用以下語(yǔ)法記錄變量的值:
console.log(pm.variables.get("variable_key"));
要查看結(jié)果, 請(qǐng)?jiān)陧?yè)腳中選擇控制臺(tái)圖標(biāo) 控制臺(tái)。您還可以從View menu > Show Postman Console訪問(wèn)控制臺(tái)。
使用數(shù)據(jù)變量
Collection Runner 允許您導(dǎo)入 CSV 或 JSON 文件,并在請(qǐng)求和腳本中使用數(shù)據(jù)文件中的值。您不能在 Postman 中設(shè)置數(shù)據(jù)變量,因?yàn)樗菑臄?shù)據(jù)文件中提取的,但您可以在腳本中訪問(wèn)數(shù)據(jù)變量,例如使用pm.iterationData.get(“variable_name”).
共享和持久化數(shù)據(jù)
當(dāng)您在 Postman 中編輯全局、集合和環(huán)境變量時(shí),您將看到一個(gè)當(dāng)前值,您可以選擇為單個(gè)變量保留或重置。您還可以選擇Persist All或Reset All將此設(shè)置應(yīng)用于所有變量。這些使您能夠控制本地 Postman 實(shí)例中發(fā)生的事情,而與數(shù)據(jù)如何與共享您的工作區(qū)、請(qǐng)求、集合和環(huán)境的任何人同步無(wú)關(guān)。
創(chuàng)建或編輯變量時(shí),可以輸入初始值和當(dāng)前值。在 Postman 中創(chuàng)建新變量時(shí),如果將當(dāng)前值留空,它將自動(dòng)填充初始值。如果您指定一個(gè)當(dāng)前值,它將是您的實(shí)例的本地值。Persist選項(xiàng)允許您將當(dāng)前值推送到共享數(shù)據(jù),更新初始值以匹配當(dāng)前值。
使用Persist可以使您的當(dāng)前值與 Postman 的服務(wù)器同步,并反映給共享您的收藏或環(huán)境的任何人。要重置您當(dāng)前的本地值以反映初始共享值,請(qǐng)使用Reset。
要保留單個(gè)值:
將鼠標(biāo)懸停在變量的當(dāng)前值上。
更多操作圖標(biāo) 選擇值旁邊的更多操作圖標(biāo) 。
選擇堅(jiān)持。
您在 Postman 中的本地會(huì)話可以使用對(duì)您來(lái)說(shuō)是短暫且可見(jiàn)的值,但不會(huì)與您的團(tuán)隊(duì)同步或共享。這使您可以使用私有憑據(jù)或?qū)嶒?yàn)值進(jìn)行開(kāi)發(fā)和測(cè)試,而不會(huì)暴露這些細(xì)節(jié)或影響團(tuán)隊(duì)中的其他人。
例如,您的團(tuán)隊(duì)可能有一個(gè)共享的 API 密鑰和單獨(dú)的 API 密鑰。您可以使用個(gè)人密鑰在本地進(jìn)行實(shí)驗(yàn)性開(kāi)發(fā)工作,但使用共享密鑰進(jìn)行團(tuán)隊(duì)協(xié)作。同樣,您可以有一個(gè)變量來(lái)表示您正在本地進(jìn)行的探索性工作,但尚未準(zhǔn)備好與團(tuán)隊(duì)共享。您可以稍后選擇保留本地?cái)?shù)據(jù),以便團(tuán)隊(duì)中的其他人也可以訪問(wèn)它。
快速查看圖標(biāo) 您可以使用Postman 右上角的環(huán)境快速查看圖標(biāo)在線編輯當(dāng)前值 。
本地和數(shù)據(jù)變量具有當(dāng)前值,在請(qǐng)求或收集運(yùn)行之后不會(huì)持續(xù)存在。
由于以下幾個(gè)原因,變量可能無(wú)法解析:
- 該變量不存在于請(qǐng)求的活動(dòng)范圍內(nèi)
- 變量已創(chuàng)建,但未保存更改
- 變量所在的環(huán)境未激活
- 變量在活動(dòng)環(huán)境中被關(guān)閉
產(chǎn)品推薦
推薦理由
postman在國(guó)內(nèi)使用已經(jīng)越來(lái)越困難:
1、登錄問(wèn)題嚴(yán)重
2、Mock功能服務(wù)基本沒(méi)法使用
3、版本更新功能已很匱乏
4、某些外力因素導(dǎo)致postman以后能否使用風(fēng)險(xiǎn)較大
出于以上考慮因此筆者自己開(kāi)發(fā)了一款api調(diào)試開(kāi)發(fā)工具SmartApi,滿足基本日常開(kāi)發(fā)調(diào)試api需求
簡(jiǎn)介
歷時(shí)一年半多開(kāi)發(fā)終于smartApi-v1.0.0版本在2023-09-15晚十點(diǎn)正式上線
smartApi是一款對(duì)標(biāo)國(guó)外的postman的api調(diào)試開(kāi)發(fā)工具,由于開(kāi)發(fā)人力就作者一個(gè)所以人力有限,因此v1.0.0版本功能進(jìn)行精簡(jiǎn),大功能項(xiàng)有:
- api參數(shù)填寫
- api請(qǐng)求響應(yīng)數(shù)據(jù)展示
- PDF形式的分享文檔
- Mock本地化解決方案
- api列表數(shù)據(jù)本地化處理
- 再加上UI方面的打磨
下面是一段smartApi使用介紹:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-445357.html
下載地址:
https://pan.baidu.com/s/1kFAGbsFIk3dDR64NwM5y2A?pwd=csdn文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-445357.html
到了這里,關(guān)于【API接口工具】postman-變量定義、使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!