Postman沙盒
Postman Sandbox是一個JavaScript執行環境,您可以在編寫預請求腳本和測試腳本(在Postman和Newman中)時可用。在這個沙箱中執行您在預請求/測試腳本部分中寫入的代碼。
常用的庫和實用程序
- Lodash:JS實用程序庫
- cheerio:一個快速,精簡的核心jQuery API實現(版本4.6.0及更高版本)
- BackboneJS 已棄用:提供簡單的模型,視圖和集合。這將在以后版本的沙箱中刪除。
- SugarJS 已棄用:使用有用的方法擴展本機JS對象。將在以后版本的沙箱中刪除。
- tv4 JSON模式驗證器:根據json-schema草案的v4驗證JSON對象
- CryptoJS:標準和安全的加密算法。支持的算法:AES,DES,EvpKDF,HMAC-MD5,HMAC-SHA1 / 3/256/512,MD5,PBKDF2,Rabbit,SHA1 / 3/224/256/512,TripleDES
-
xml2Json(xmlString)
:這個函數在Newman和Postman中是一樣的 -
xmlToJson(xmlString)
已棄用:此功能在Newman和Postman中的行為不相同 -
postman.getResponseHeader(headerName)
Test-only:返回名稱為“headerName”的響應頭(如果存在)。如果沒有這樣的頭存在,則返回null。 注意:根據W3C規范,頭名不區分大小寫。這個方法是照顧這個。postman.getResponseHeader("Content-type")
并且postman.getResponseHeader("content-Type")
將返回相同的值。
注意:自4.6.0版本以來,jQuery支持已經停用,支持 cheerio。
環境和全局變量
-
postman.setEnvironmentVariable(variableName, variableValue)
:設置一個環境變量“variableName”,并為其分配字符串“variableValue”。您必須為此方法選擇一個環境才能工作。 注意:只能存儲字符串。存儲其他類型的數據將導致意外的行為。 -
postman.getEnvironmentVariable(variableName)
:返回環境變量“variableName”的值,用于預請求和測試腳本。您必須為此方法選擇一個環境才能工作。 -
postman.setGlobalVariable(variableName, variableValue)
:設置一個全局變量“variableName”,并為其分配字符串“variableValue”。 注意:只能存儲字符串。存儲其他類型的數據將導致意外的行為。 -
postman.getGlobalVariable(variableName)
:返回全局變量“variableName”的值,用于預請求和測試腳本。 -
postman.clearEnvironmentVariable(variableName)
:清除名為“variableName”的環境變量。您必須為此方法選擇一個環境才能工作。 -
postman.clearGlobalVariable(variableName)
:清除名為“variableName”的全局變量。 -
postman.clearEnvironmentVariables()
:清除所有環境變量。您必須為此方法選擇一個環境才能工作。 -
postman.clearGlobalVariables()
:清除所有全局變量。 -
environment
:當前環境中的變量字典。使用environment["foo"]
訪問“foo”的環境變量的值。注意:這只能用來讀取變量。使用setEnvironmentVariable()
設置值。 -
globals
全球變量字典使用globals["bar"]
訪問“欄中的”全局變量的值。注意:這只能用來讀取變量。使用setGlobalVariable()
設置值
動態變量
Postman還有一些動態變量,您可以在您的請求中使用。這主要是一個實驗性功能。更多功能將很快添加。請注意,在沙箱中不能使用動態變量。您只能 以請求URL / headers / body 中的格式使用它們 。{{..}}
-
{{$guid}}
:添加v4風格的guid -
{{$timestamp}}
:添加當前時間戳。 -
{{$randomInt}}
:添加0到1000之間的隨機整數
Cookies
-
responseCookies {array}
Postman-only:獲取為域設置的所有Cookie。您將需要啟用Interceptor才能工作。 -
postman.getResponseCookie(cookieName)
Postman-only:獲取具有給定名稱的響應cookie。您將需要啟用攔截器才能工作。查看 博客文章。
請求/響應相關屬性
-
request {object}
:Postman在寫腳本時使請求對象可用。該對象是只讀的。更改此對象的屬性將不起作用。注意:變量不會在請求對象中解析。請求對象由以下內容組成:-
data {object}
- 這是請求的表單數據字典。(request.data[“key”]==”value”
) -
headers {object}
- 這是請求的標題字典(request.headers[“key”]==”value”
) -
method {string}
- GET / POST / PUT等 -
url {string}
- 請求的url。
-
-
responseHeaders {object}
已棄用, 僅測試:這是響應頭的映射。這是區分大小寫的,不應該使用。檢查postman.getResponseHeader()
上面列出的方法。 -
responseBody {string}
僅測試:包含原始響應正文文本的字符串。您可以將其用作JSON.parse或xml2Json的輸入。 -
responseTime {number}
僅測試:響應時間(以毫秒為單位) -
responseCode {object}
Test-only:包含三個屬性:-
code {number}
:響應代碼(200為OK,404為未找到等) -
name {string}
:狀態碼文本 -
detail {string}
:響應代碼的解釋
-
-
tests {object}
僅測試:此對象是為您填充。Postman將將此對象的每個屬性作為布爾測試。 -
iteration {number}
:僅在Collection Runner和Newman中可用。表示當前的測試運行索引。從0開始。
僅測試:此對象僅在測試腳本部分可用。在預請求的腳本中使用它會引發錯誤。
數據文件
如果您 在Collection Runner或Newman中使用 數據文件,則可以訪問 data
對象,該對象是當前測試運行中數據值的字典。