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
对象,该对象是当前测试运行中数据值的字典。