Postman沙盒
Postman Sandbox是一個JavaScript執(zhí)行環(huán)境邑商,您可以在編寫預(yù)請求腳本和測試腳本(在Postman和Newman中)時可用殃姓。在這個沙箱中執(zhí)行您在預(yù)請求/測試腳本部分中寫入的代碼。
常用的庫和實用程序
- Lodash:JS實用程序庫
- cheerio:一個快速导街,精簡的核心jQuery API實現(xiàn)(版本4.6.0及更高版本)
- BackboneJS 已棄用:提供簡單的模型披泪,視圖和集合。這將在以后版本的沙箱中刪除搬瑰。
- SugarJS 已棄用:使用有用的方法擴展本機JS對象款票。將在以后版本的沙箱中刪除。
- tv4 JSON模式驗證器:根據(jù)json-schema草案的v4驗證JSON對象
- CryptoJS:標(biāo)準(zhǔn)和安全的加密算法泽论。支持的算法:AES艾少,DES,EvpKDF翼悴,HMAC-MD5缚够,HMAC-SHA1 / 3/256/512,MD5鹦赎,PBKDF2谍椅,Rabbit,SHA1 / 3/224/256/512古话,TripleDES
-
xml2Json(xmlString)
:這個函數(shù)在Newman和Postman中是一樣的 -
xmlToJson(xmlString)
已棄用:此功能在Newman和Postman中的行為不相同 -
postman.getResponseHeader(headerName)
Test-only:返回名稱為“headerName”的響應(yīng)頭(如果存在)雏吭。如果沒有這樣的頭存在,則返回null陪踩。 注意:根據(jù)W3C規(guī)范杖们,頭名不區(qū)分大小寫。這個方法是照顧這個膊毁。postman.getResponseHeader("Content-type")
并且postman.getResponseHeader("content-Type")
將返回相同的值胀莹。
注意:自4.6.0版本以來,jQuery支持已經(jīng)停用婚温,支持 cheerio描焰。
環(huán)境和全局變量
-
postman.setEnvironmentVariable(variableName, variableValue)
:設(shè)置一個環(huán)境變量“variableName”,并為其分配字符串“variableValue”。您必須為此方法選擇一個環(huán)境才能工作荆秦。 注意:只能存儲字符串篱竭。存儲其他類型的數(shù)據(jù)將導(dǎo)致意外的行為。 -
postman.getEnvironmentVariable(variableName)
:返回環(huán)境變量“variableName”的值步绸,用于預(yù)請求和測試腳本掺逼。您必須為此方法選擇一個環(huán)境才能工作。 -
postman.setGlobalVariable(variableName, variableValue)
:設(shè)置一個全局變量“variableName”瓤介,并為其分配字符串“variableValue”吕喘。 注意:只能存儲字符串。存儲其他類型的數(shù)據(jù)將導(dǎo)致意外的行為刑桑。 -
postman.getGlobalVariable(variableName)
:返回全局變量“variableName”的值氯质,用于預(yù)請求和測試腳本。 -
postman.clearEnvironmentVariable(variableName)
:清除名為“variableName”的環(huán)境變量祠斧。您必須為此方法選擇一個環(huán)境才能工作闻察。 -
postman.clearGlobalVariable(variableName)
:清除名為“variableName”的全局變量。 -
postman.clearEnvironmentVariables()
:清除所有環(huán)境變量琢锋。您必須為此方法選擇一個環(huán)境才能工作辕漂。 -
postman.clearGlobalVariables()
:清除所有全局變量。 -
environment
:當(dāng)前環(huán)境中的變量字典吴超。使用environment["foo"]
訪問“foo”的環(huán)境變量的值钉嘹。注意:這只能用來讀取變量。使用setEnvironmentVariable()
設(shè)置值烛芬。 -
globals
全球變量字典使用globals["bar"]
訪問“欄中的”全局變量的值隧期。注意:這只能用來讀取變量。使用setGlobalVariable()
設(shè)置值
動態(tài)變量
Postman還有一些動態(tài)變量赘娄,您可以在您的請求中使用仆潮。這主要是一個實驗性功能。更多功能將很快添加遣臼。請注意性置,在沙箱中不能使用動態(tài)變量。您只能 以請求URL / headers / body 中的格式使用它們 揍堰。{{..}}
-
{{$guid}}
:添加v4風(fēng)格的guid -
{{$timestamp}}
:添加當(dāng)前時間戳鹏浅。 -
{{$randomInt}}
:添加0到1000之間的隨機整數(shù)
Cookies
-
responseCookies {array}
Postman-only:獲取為域設(shè)置的所有Cookie。您將需要啟用Interceptor才能工作屏歹。 -
postman.getResponseCookie(cookieName)
Postman-only:獲取具有給定名稱的響應(yīng)cookie隐砸。您將需要啟用攔截器才能工作。查看 博客文章蝙眶。
請求/響應(yīng)相關(guān)屬性
-
request {object}
:Postman在寫腳本時使請求對象可用季希。該對象是只讀的褪那。更改此對象的屬性將不起作用。注意:變量不會在請求對象中解析式塌。請求對象由以下內(nèi)容組成:-
data {object}
- 這是請求的表單數(shù)據(jù)字典博敬。(request.data[“key”]==”value”
) -
headers {object}
- 這是請求的標(biāo)題字典(request.headers[“key”]==”value”
) -
method {string}
- GET / POST / PUT等 -
url {string}
- 請求的url。
-
-
responseHeaders {object}
已棄用峰尝, 僅測試:這是響應(yīng)頭的映射偏窝。這是區(qū)分大小寫的,不應(yīng)該使用武学。檢查postman.getResponseHeader()
上面列出的方法祭往。 -
responseBody {string}
僅測試:包含原始響應(yīng)正文文本的字符串。您可以將其用作JSON.parse或xml2Json的輸入火窒。 -
responseTime {number}
僅測試:響應(yīng)時間(以毫秒為單位) -
responseCode {object}
Test-only:包含三個屬性:-
code {number}
:響應(yīng)代碼(200為OK链沼,404為未找到等) -
name {string}
:狀態(tài)碼文本 -
detail {string}
:響應(yīng)代碼的解釋
-
-
tests {object}
僅測試:此對象是為您填充。Postman將將此對象的每個屬性作為布爾測試沛鸵。 -
iteration {number}
:僅在Collection Runner和Newman中可用。表示當(dāng)前的測試運行索引缆八。從0開始曲掰。
僅測試:此對象僅在測試腳本部分可用。在預(yù)請求的腳本中使用它會引發(fā)錯誤奈辰。
數(shù)據(jù)文件
如果您 在Collection Runner或Newman中使用 數(shù)據(jù)文件栏妖,則可以訪問 data
對象,該對象是當(dāng)前測試運行中數(shù)據(jù)值的字典奖恰。