测试编写的脚本 | Postman 官方帮助文档中文版
动态变量(Dynamic variables) | Postman 官方帮助文档中文版
变量
变量的作用域与优先级
Postman 提供了多种作用域的变量,理解它们的优先级是正确使用的关键。当变量名相同时,Postman 会按照以下优先级顺序(从高到低)来取值:
- 数据变量 (Data) :通过 Runner 导入的 CSV/JSON 文件中的变量,优先级最高。
- 本地变量 (Local) :在 Pre-request Script 或 Tests 脚本中临时定义的变量,仅在当前请求执行期间有效。
- 环境变量 (Environment) :与特定环境(如开发、测试)绑定的变量,用于区分不同环境。
- 集合变量 (Collection) :绑定到特定集合(Collection)的变量,在该集合内所有请求中可用。
- 全局变量 (Global) :在整个 Postman 工作空间内都可用,作用范围最广。
// 1. 设置环境变量 (最常用)
pm.environment.set("token", "abc-123");
// 2. 设置全局变量
pm.globals.set("baseUrl", "http://api.example.com");
// 3. 设置集合变量
pm.collectionVariables.set("userId", "1001");
// 4. 设置本地变量 (仅在当前请求脚本执行期间存在)
pm.variables.set("tempId", "999");
// 注意:获取时通常不需要区分级别,Postman 会自动按优先级查找,但如果你想指定从某个级别获取,可以使用以下方法:
// 推荐写法 (自动按优先级查找)
var token = pm.variables.get("token");
// 指定级别写法
var envToken = pm.environment.get("token");
var globalToken = pm.globals.get("token");
var collectionVariablesToken = pm.collectionVariables.set("token");
// 删除环境变量
pm.environment.unset("token");
// 删除全局变量
pm.globals.unset("baseUrl");
响应体
响应体
pm.response
- 要解析 JSON 数据,请使用以下语法:
const responseJson = pm.response.json();
- 要解析 XML,请使用以下内容:
const responseJson = xml2Json(pm.response.text());
- 状态码
pm.response.code
测试
测试体
pm.test
测试函数
pm.test("测试功能描述,自己定义", ()=>{
// 函数体
});
断言
断言体
pm.expect