温馨提示×

Linux Postman如何创建脚本

小樊
36
2025-12-06 02:57:27
栏目: 智能运维

Linux 下 Postman 创建脚本的完整指南

一 环境准备

  • 在 **Linux(Ubuntu/CentOS 等)**安装 Postman:可从官网下载 Linux 64 位安装包解压使用,或通过 Snap 安装(Ubuntu 示例:sudo snap install postman)。安装完成后可直接在应用菜单或命令行启动 Postman。为后续自动化,建议同时安装 Node.js 与 npm,以便使用命令行运行集合。

二 在 Postman 中创建脚本

  • 创建请求:新建或打开一个请求,选择 GET/POST 等方法并填写 URL,按需设置 Headers/Body
  • 编写脚本位置:
    • 预请求脚本:在请求编辑器的 Pre-request Script 中编写,会在请求发送前执行,常用于生成 timestamp、计算 签名、动态修改请求参数/头。
    • 测试脚本:在 Tests 中编写,会在收到响应后执行,用于断言与结果校验。
  • 常用脚本能力(基于 Postman 内置的 pm 对象与 Chai.js 断言):
    • 变量读写:pm.environment.set/get、pm.globals.set/get、pm.collectionVariables.set/get
    • 请求修改:pm.request.headers.add/remove 等
    • 发送额外请求:pm.sendRequest(url, callback)
    • 断言示例:pm.test(‘Status is 200’, () => pm.response.to.have.status(200))
  • 调试与复用:使用 Console 查看日志输出;将脚本保存在 集合/文件夹 层级可统一作用于多个请求。

三 常用脚本示例

  • 预请求脚本:生成时间戳并设置为环境变量
// Pre-request Script
const ts = new Date().toISOString();
pm.environment.set("timestamp", ts);
  • 预请求脚本:动态添加请求头
// Pre-request Script
pm.request.headers.add({
  key: "X-Request-Id",
  value: "req-" + Math.random().toString(36).substr(2, 9)
});
  • 测试脚本:状态码与响应体断言
// Tests
pm.test("Status code is 200", () => {
  pm.response.to.have.status(200);
});

pm.test("Response contains success", () => {
  const json = pm.response.json();
  pm.expect(json).to.have.property("message", "success");
});
  • 测试脚本:从响应中提取数据并设置为变量
// Tests
const json = pm.response.json();
pm.environment.set("authToken", json.token);
  • 预请求脚本:先调用依赖接口,取回数据再发起主请求
// Pre-request Script
const dep = {
  url: "https://postman-echo.com/get?k=fromDep",
  method: "GET"
};
pm.sendRequest(dep, (err, res) => {
  if (!err) {
    const v = res.json().args.k;
    pm.collectionVariables.set("fromDep", v);
  }
});

以上示例展示了变量、请求修改、发送请求与断言的常用模式,可直接粘贴到对应脚本面板测试。

四 在 Linux 终端运行脚本与集成 CI

  • 导出集合与环境:在 Postman 中将集合导出为 collection.json,如有需要同时导出 environment.json
  • 安装 Newman(Postman 官方命令行工具):npm install -g newman
  • 运行集合:
# 基本运行
newman run collection.json

# 指定环境
newman run collection.json -e environment.json

# 生成报告(HTML 示例)
newman run collection.json -e environment.json -r html
  • CI/CD 集成:在 Jenkins/GitLab CI/GitHub Actions 中添加 Newman 执行步骤,实现提交或部署时自动运行接口测试。

0