## **pm(postman)对象**
pm对象包含与正在执行的脚本有关的所有信息,并允许访问正在发送的请求的副本或接受到的响应,它还允许获取和设置环境变量和全局变量
## **pm.info对象**
pm.info对象包含与正在执行的脚本有关的信息,如请求名称、请求ID和迭计数等有用信息储存在该对象中
|方法|描述|结果类型|
|-|-|-|
| **pm.info.eventName** | 输出脚本是在哪个脚本栏中执行的 | 字符串类型 |
| **pm.info.iteration** | 输出当前运行迭代的次数(从0开始) | 数值类型 |
| **pm.info.iterationCount** | 输出计划运行的迭代总数 | 数值类型 |
| **pm.info.requestName** | 返回请求名 | 字符串类型 |
| **pm.info.requestId** | 返回请求ID | 字符串类型 |
## **pm.sendRequest对象**
1、**pm.sendRequest对象允许异步发送HTTP/HTTPS请求**。简单的来说就是:用户有一个繁重的计算任务或需要发送多个请求,那么现在可以在后台执行该逻辑。用户可以指定一个回调函数,并在底层操作完成时得到通知,而不是等待调用来完成(因为这会阻碍任何下一个请求)
2、该方法接收一个兼容SDK的请求和一个回调。回调接收两个参数,其中一个是错误(如果有的话),另一个是SDK兼容的响应
3、该方法可以在预请求或测试脚本中使用
## **pm.globals对象**
| 方法 | 描述 |
| - | - |
| **pm.globals.has("variableName")** | 验证是否存在该全局变量 |
| **pm.globals.get("variableName")** | 获取执行全局变量的值 |
| **pm.globals.set("variableName","variableValue")** | 设置全局变量 |
| **pm.globals.unset("variableName")** | 清除指定的全局变量 |
| **pm.globals.clear()** | 清除全部全局变量 |
| **pm.globals.toObject()** | 将全局变量以一个对象的方式全部输出 |
## **pm.environment对象**
| 方法 | 描述 |
| - | - |
| **pm.environment.has("variableName")** | 检测环境变量是否包含某个变量 |
| **pm.environment.get("variableName")** | 获取环境变量中的某个值 |
| **pm.environment.set("variableName","variableValue")** | 为某个环境变量设置值 |
| **pm.environment.unset("variableName")** | 清除某个环境变量 |
| **pm.environment.clear()** | 清除全部环境变量 |
| **pm.environment.toObject()** | 将环境变量以一个对象的方式全部输出 |
## **pm.variables对象**
1、在Postman中,所有的变量都符合特定的层次结构。在当前迭代中定义的所有变量优先于当前环境中定义的变量,这些变量覆盖全局范围内定义的变量,即迭代数据<环境变量<全局变量
2、pm.variables对象包含以下方法可供调用
| 方法 | 描述 |
| - | - |
| **pm.variables.get("variableName")** | 获取变量中的某个值 |
## **pm.request对象**
1、pm.request对象用来获取请求对象。但request中的参数只可读
2、在"Pre-request Script"选项卡下,pm.request对象表示:将要发送的请求
3、在"Tests"选项卡下,pm.request对象表示:上一个发送的请求(与在"Pre-request Script"选项卡下感觉没什么区别:都是同一个请求)
4、pm.request对象包含以下方法可供调用
| 方法 | 描述 |
| - | - |
| **pm.request** | 获取当前发起请求的全部headers |
| **pm.request.url** | 获取当前发起请求的url |
| **pm.request.headers** | 以数组的方式返回当前请求中的header信息 |
## **pm.response对象**
| 方法 | 描述 |
| - | - |
| **pm.response.code** | 获取当前请求返回的状态码如200,404,500等 |
| **pm.response.reason()** | 当前请求成功返回OK |
| **pm.response.headers** | 以数组的形式返回当前请求成功后的response的headers |
| **pm.response.responseTime** | 获取执行此次请求的时间单位为ms |
| **pm.response.text()** | 以文本的方式获取响应里面的body的内容 |
| **pm.response.json()** | 将body里面的内容解析为一个json对象 |
## **pm.iterationData对象**
iterationData对象包含数据集运行期间提供的数据文件,主要方法有如下
| 方法 | 描述 |
| - | - |
| **pm.iterationData.get("variable")** | 获取指定变量的值 |
| **pm.iterationData.toObject** | 将数据文件集转化成一个对象 |
## **Postman中的Test**
在Postman中用于测试、断言的函数主要有如下
| 方法 | 描述 |
| - | - |
| **pm.test("testName", specFunction)** | 测试方法,第二个方法中填写测试内容 |
| **pm.expect(assertion:*)** | 断言 |
**注:**
1、pm.test("testName", specFunction):此函数用于在沙箱中编写测试规范。在这个函数中编写测试可以准确地命名测试,并确保在这个函数内出现任何错误的情况下,脚本的其余部分不会被阻塞
2、**pm.expect是一个通用的断言函数**。这个是ChaiJS expect BDD库,使用这个库可以编写可读性很高的测试 。pm.expect用于处理来自响应或变量的数据断言
3、**pm.test()方法用于创建一个测试**(告诉Postman这是测试)。其接受两个参数,一个是测试的相关描述,一个是一个函数:用于执行断言相关的语句
>[info] 参考文章[Postman:脚本应用_pm对象](https://blog.csdn.net/qq_39314932/article/details/103037976)
- Chrome
- Zend Studio
- 首选项
- svn
- 安装插件
- Problem Occurred
- 显示隐藏文件
- 启动显示Launcher
- 全文检索
- 误删文件的恢复
- 代码的比较和恢复
- 内置函数没有提示
- 显示导航栏
- 导入已存在项目
- 导入Composer项目
- PLSQL Developer
- 基本操作
- SQL Window的使用
- 导出表结构和数据
- 导入SQL文件
- Navicat
- 工作界面
- 逆向数据库到模型
- 命令行工具
- 导入SQL文件
- Postman
- 发送请求
- GET
- POST
- 变量
- 环境变量
- 集合变量
- 全局变量
- 内置变量
- pm对象
- 脚本测试
- Pre-request
- Tests
- Runner
- 实例
- token
- cookie
- 使用数据文件
- 导入chrome请求
- 导入Fiddler请求
- 下载文件
- 控制台的使用
- 生成代码片段
- Fiddler
- 界面
- 配置
- Android7.0+配置
- Inspectors
- Filters
- AutoResponder
- Composer
- FiddlerScript
- Breakpoints
- 实例
- 微信登录
- 微信文章
- 微信视频号
- 微信小程序
- HTTP Debugger Pro
- 界面
- Charles
- 界面
- 基础配置
- Breakpoints
- Rewrite
- Map Local
- Map Remote
- JMeter
- BurpSuite
- SVN
- 菜单
- 创建svn仓库
- SVN本地导入和导出
- 创建工作副本
- 查看连接错误信息
- 文件颜色标志
- 清除缓存信息
- Git
- Git简介
- 配置
- 工作区域
- 工作流程
- 创建仓库
- 微信小程序
- Composer
- create-project
- install
- require
- update
- remove
- search
- show
- npm
- info
- search
- list
- install
- uninstall
- update
- run
- 其它命令
- VSCode
- 常用插件
- Other
- Notepad++配置
- Hbuilder配置
- Navicat配置
- Win10配置
- Proxifier
- C盘爆满