postman

3 阅读2分钟

测试编写的脚本 | Postman 官方帮助文档中文版
动态变量(Dynamic variables) | Postman 官方帮助文档中文版

变量

 变量的作用域与优先级

Postman 提供了多种作用域的变量,理解它们的优先级是正确使用的关键。当变量名相同时,Postman 会按照以下优先级顺序(从高到低)来取值:

  1. 数据变量 (Data) :通过 Runner 导入的 CSV/JSON 文件中的变量,优先级最高。
  2. 本地变量 (Local) :在 Pre-request Script 或 Tests 脚本中临时定义的变量,仅在当前请求执行期间有效。
  3. 环境变量 (Environment) :与特定环境(如开发、测试)绑定的变量,用于区分不同环境。
  4. 集合变量 (Collection) :绑定到特定集合(Collection)的变量,在该集合内所有请求中可用。
  5. 全局变量 (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