环境变量与全局变量的灵活使用
一.动态适配多环境
使用环境变量(Environments)管理不同配置(如开发、测试、生产环境):
javascript Copy Code
- // 设置环境变量
- pm.environment.set("base_url", "https://api.example.com/v1");
- // 请求URL中使用变量
const url =
${pm.environment.get("base_url")}/users
;二.全局变量共享数据
跨请求传递数据(如Token、ID):
javascript
Copy Code
- // 从登录响应中提取Token并保存为全局变量
- const token = pm.response.json().access_token;
pm.globals.set("auth_token", token);
三.测试脚本(Tests)的进阶实践
利用Chai.js语法编写简洁的断言:
javascript
Copy Code
- pm.test("响应校验", () => {
- pm.expect(pm.response.code).to.be.oneOf([200, 201]);
- pm.expect(pm.response.json().data).to.have.length.above(0);
- pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');
});
四.依赖外部库
在Pre-request Script中引入Lodash等库处理复杂逻辑:
javascript
Copy Code
- const _ = require('lodash');
- const randomId = _.random(1000, 9999);
pm.globals.set("random_user_id", randomId);
五.异步请求处理
使用pm.sendRequest发送并行请求并聚合结果:
javascript
Copy Code
- const req1 = { url: 'https://api.example.com/posts' };
- const req2 = { url: 'https://api.example.com/comments' };
- Promise.all([
- new Promise(resolve => pm.sendRequest(req1, resolve)),
- new Promise(resolve => pm.sendRequest(req2, resolve))
- ]).then(responses => {
- const total = responses[0].json().length + responses[1].json().length;
- pm.globals.set("total_data_count", total);
- });
我们可以将Postman从简单的API调试工具转变为强大的自动化平台。无论是动态数据处理、复杂测试场景还是CI/CD集成,Postman的编程能力都能显著提升开发效率。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。