环境变量与全局变量的灵活使用

一.动态适配多环境‌

使用环境变量(Environments)管理不同配置(如开发、测试、生产环境):

javascript Copy Code

  1. // 设置环境变量
  2. pm.environment.set("base_url", "https://api.example.com/v1");
  3. // 请求URL中使用变量
  4. const url = ${pm.environment.get("base_url")}/users;

    ‌二.全局变量共享数据

    跨请求传递数据(如Token、ID):

javascript
Copy Code

  1. // 从登录响应中提取Token并保存为全局变量
  2. const token = pm.response.json().access_token;
  3. pm.globals.set("auth_token", token);

    ‌三.测试脚本(Tests)的进阶实践

    利用Chai.js语法编写简洁的断言:

javascript
Copy Code

  1. pm.test("响应校验", () => {
  2. pm.expect(pm.response.code).to.be.oneOf([200, 201]);
  3. pm.expect(pm.response.json().data).to.have.length.above(0);
  4. pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');
  5. });

    四.依赖外部库

    在Pre-request Script中引入Lodash等库处理复杂逻辑:

javascript
Copy Code

  1. const _ = require('lodash');
  2. const randomId = _.random(1000, 9999);
  3. pm.globals.set("random_user_id", randomId);

    五.异步请求处理

    使用pm.sendRequest发送并行请求并聚合结果:

javascript
Copy Code

  1. const req1 = { url: 'https://api.example.com/posts' };
  2. const req2 = { url: 'https://api.example.com/comments' };
  3. Promise.all([
  4. new Promise(resolve => pm.sendRequest(req1, resolve)),
  5. new Promise(resolve => pm.sendRequest(req2, resolve))
  6. ]).then(responses => {
  7. const total = responses[0].json().length + responses[1].json().length;
  8. pm.globals.set("total_data_count", total);
  9. });
    我们可以将Postman从简单的API调试工具转变为强大的自动化平台。无论是动态数据处理、复杂测试场景还是CI/CD集成,Postman的编程能力都能显著提升开发效率。

代码的核心
1 声望0 粉丝

喜欢代码的奇奇怪怪