登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

Postman 环境变量与 Tests 断言实战:一套请求切换开发、测试、生产

来源:17golang原创

时间:2026-06-13 16:19:56 343浏览 收藏

接口联调时,最容易出错的动作不是写请求参数,而是反复修改地址:开发环境一个域名,测试环境一个域名,线上环境又是另一个域名。Postman 的环境变量可以把这件事收起来,再配合 Tests 断言,发送请求后就能快速判断接口是否符合预期。

摘要

本文用 Postman 做一个完整的小流程:创建 DEV、TEST、PROD 三套环境变量,把请求地址里的域名替换成 {{base_url}},发送请求后用 Tests 检查状态码和 JSON 字段。这样同一套请求可以在多个环境间切换,避免手动改地址,也方便团队共享。

适合人群

适合正在做接口联调、后端自测、前后端协作、自动化接口冒烟测试的同学。你只需要会在 Postman 里创建请求、点击 Send,并能读懂一点 JavaScript 断言代码。

目录

  • 先把 base_url 抽成环境变量
  • 请求里使用变量
  • 用 Tests 检查状态码和 JSON 字段
  • 常见问题和排查方式
  • 参考资料

先把 base_url 抽成环境变量

在 Postman 里,不同环境的变量可以放到 Environment 中管理。比如我们定义一个变量名 base_url,然后分别给 DEV、TEST、PROD 三套环境配置不同值。

Postman 环境变量界面中切换 ENV 并配置 base_url 的示意图

一个常见配置可以这样设计:

  • DEV:http://dev.api.example.com
  • TEST:http://test.api.example.com
  • PROD:https://api.example.com

变量名建议保持稳定,例如统一叫 base_url。这样 Collection 里的所有请求都能复用同一个变量,不需要每个请求单独维护一份域名。

请求里使用变量

配置好环境后,请求地址就可以从固定域名改成变量写法:

{{base_url}}/api/users?page=1&size=10

发送请求前,先在右上角选择当前环境。选中 DEV 时,请求会走开发地址;切到 TEST 时,同一条请求会走测试地址。这个习惯能明显减少“把测试参数发到错误环境”的问题。

建议的变量命名

  • base_url:接口基础地址。
  • token:当前环境登录令牌。
  • tenant_id:多租户系统的租户标识。
  • user_id:测试用户 ID,适合团队共享样例请求。

如果变量是敏感值,建议只保存在本地当前值里,不要把真实密钥直接提交到共享 Collection。

用 Tests 检查状态码和 JSON 字段

只看响应 Body 容易漏问题。Postman 的 Tests 可以在响应返回后自动检查结果,例如状态码是否为 200、返回 JSON 里是否包含指定字段。

Postman Tests 面板中检查 200 OK、JSON 字段并显示 PASS 的示意图

在请求的 Tests 面板里,可以写入下面这段:

pm.test("状态码应为 200", function () {
  pm.response.to.have.status(200);
});

pm.test("返回 user.id 应等于请求 ID", function () {
  const jsonData = pm.response.json();
  pm.expect(jsonData.user.id).to.eql(1001);
});

pm.test("返回 user.name 不为空", function () {
  const jsonData = pm.response.json();
  pm.expect(jsonData.user.name).to.be.a("string").and.not.empty;
});

点击 Send 后,Postman 会在 Test Results 里显示通过或失败。接口字段变更、状态码异常、数据为空,都能第一时间看到。

把环境变量和 Tests 组合起来

更实用的做法是把变量也放进断言里。比如从环境变量读取当前测试用户 ID,再和响应里的用户 ID 对比。

pm.test("返回 ID 与环境变量一致", function () {
  const expectedUserId = Number(pm.environment.get("user_id"));
  const jsonData = pm.response.json();

  pm.expect(jsonData.user.id).to.eql(expectedUserId);
});

这样同一套请求在不同环境下只要切换变量,就能复用同一组断言。

常见问题和排查方式

  • 变量没有生效:确认右上角已经选中正确 Environment,并且变量名和请求里的写法一致。
  • 请求地址出现空白:检查 base_url 是否有当前值,不要只填了初始值却没有保存。
  • Tests 一直失败:先在 Body 里确认返回结构,再检查字段路径是否写错。
  • 切到 PROD 很危险:线上环境建议使用只读账号或只读接口,避免误操作。
  • 团队共享变量:共享 Collection 时保留变量名和示例值,真实 token 让每个人自己填写。

参考资料

总结

Postman 的环境变量解决的是“多环境地址不要反复手改”,Tests 解决的是“请求返回后自动判断是否符合预期”。把 base_urltokenuser_id 这类变量整理好,再给关键接口加上状态码和 JSON 字段断言,一套请求就能在开发、测试、生产之间稳定复用。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>