ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## **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)