51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2845|回复: 1
打印 上一主题 下一主题

[原创] Postman中文文档——沙盒(Sandbox)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-10 16:49:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 对象,该对象是当前测试运行中数据值的字典。


pm。* API查看  Postman Sandbox API参考。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 20:52 , Processed in 0.070059 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表