Pre-request Script(预请求脚本)
Pre-request Script 在请求发送前执行,主要用于动态配置请求参数、生成认证令牌或设置环境变量,为请求做好准备。
pm.environment.set("key", "value"):设置环境变量(如存储 token);pm.request.headers.add({key: "HeaderName", value: "HeaderValue"}):添加请求头;Math.random().toString(36).substr(2, 10):生成 10 位随机字符串;Math.floor(Date.now() / 1000):获取当前时间戳(秒级)。Tests Script(测试脚本)
Tests Script 在请求响应后执行,用于验证响应的正确性(如状态码、响应体内容),是自动化测试的核心环节。
pm.test("Test Name", function() { ... }):定义测试用例;pm.response.to.have.status(200):断言状态码为 200;pm.expect(jsonData.key).to.eql(expectedValue):断言响应体中的字段值;pm.response.json():解析 JSON 格式的响应体;pm.environment.set("key", "value"):将响应数据存储为环境变量(供后续请求使用)。环境变量与变量交互
Postman 的脚本可通过 pm.environment(环境变量)和 pm.globals(全局变量)实现数据共享,适应多环境(如开发、测试、生产)测试需求。
pm.environment.set("token", "abc123")(仅在当前环境生效)、pm.globals.set("baseUrl", "https://api.example.com")(全局生效);const token = pm.environment.get("token")、const baseUrl = pm.globals.get("baseUrl");Authorization: Bearer ${token}),在 Tests Script 中将响应数据存储为环境变量供后续请求使用。脚本调试技巧
调试是确保脚本正确性的关键,Postman 提供了多种调试方法:
console.log() 输出(如变量值、执行状态);运行测试集合
集合运行器可批量执行多个请求及其脚本,模拟真实场景并生成测试报告。
高级用法:数据驱动测试
结合 CSV/JSON 文件实现数据驱动测试,用不同数据重复执行请求,验证接口的稳定性。
test-data.csv,包含 username、password 字段);pm.iterationData.get("fieldName") 获取当前迭代的数据(如 const username = pm.iterationData.get("username"));username 字段)。