首页主机资讯Postman在Ubuntu上如何进行自定义脚本编写

Postman在Ubuntu上如何进行自定义脚本编写

时间2025-12-04 20:12:03发布访客分类主机资讯浏览688
导读:在Ubuntu上编写 Postman 自定义脚本 一 环境与脚本类型 在 Ubuntu 上可使用 Snap 安装 Postman:sudo snap install postman;或下载 Linux 64 版本解压到 /opt 并创建软...

在Ubuntu上编写 Postman 自定义脚本

一 环境与脚本类型

  • Ubuntu 上可使用 Snap 安装 Postman:sudo snap install postman;或下载 Linux 64 版本解压到 /opt 并创建软链:sudo ln -s /opt/Postman/Postman /usr/local/bin/postman。脚本基于 JavaScript,核心对象是 pm
  • 脚本类型与作用:
    • Pre-request Script:在请求发送前执行,常用于动态设置 Headers/Query、生成 Token、读取 环境变量
    • Tests:在收到响应后执行,用于断言 状态码/响应头/响应体、校验 响应时间、设置变量供后续请求使用。
  • 常用变量作用域:Environment(环境级)、Global(全局级)、Collection Variables(集合级)、Data(数据文件,用于数据驱动)。

二 编写与调试步骤

  • 创建或打开请求,在右侧选择 Pre-request ScriptTests 页签,输入脚本并保存。
  • 发送请求后,在响应区域的 Test Results 查看断言结果;通过 View → Show Postman Console(快捷键:Ctrl+Alt+C) 查看 console.log 输出与请求/响应详情,便于定位问题。
  • 批量运行与持续集成:使用 Collection Runner 执行整个集合的脚本;在 CI/CD 中配合 Newman 命令行运行集合与环境,实现无人值守测试。

三 常用脚本示例

  • 预请求脚本:动态 Authorization 头与查询参数
// Pre-request Script
const token = pm.environment.get("token");

if (token) {

  pm.request.headers.add({
 key: "Authorization", value: "Bearer " + token }
    );

}
    

const userId = pm.collectionVariables.get("userId");

if (userId) {
    
  const q = pm.request.url.query;

  q.add({
 key: "userId", value: userId }
    );

}
    
  • 测试脚本:状态码、响应时间、JSON 字段与变量回写
// Tests
pm.test("Status code is 200", () =>
     pm.response.to.have.status(200));
    
pm.test("Response time <
     200ms", () =>
     pm.expect(pm.response.responseTime).to.be.below(200));
    

const json = pm.response.json();
    
pm.test("User ID present", () =>
     pm.expect(json.id).to.be.a("number"));
    

// 将响应中的 token 写回环境,供后续请求使用
const newToken = json.token;

if (newToken) {
    
  pm.environment.set("token", newToken);

}
    
  • 数据驱动:从数据文件读取参数
// Pre-request Script
const uid = pm.iterationData.get("userId");
 // 来自数据文件
pm.request.url.query.add({
 key: "userId", value: uid }
    );
    
  • 异步前置调用:在发送主请求前先获取动态值
// Pre-request Script
const url = "https://api.example.com/config";

pm.sendRequest({
 url, method: "GET" }
    , (err, res) =>
 {
    
  if (err) return console.error("Pre-request failed:", err);
    
  const cfg = res.json();
    
  pm.environment.set("traceId", cfg.traceId || "default");

}
    );
    
  • 运行命令示例(Newman)
# 导出集合与环境为 JSON 后
newman run collection.json --environment environment.json

上述示例覆盖了变量读写、请求修改、断言、日志与异步预请求等常见场景。

四 最佳实践与排错

  • 作用域与命名:优先使用 Environment/Collection 变量,避免滥用 Global;变量命名统一(如 token、baseUrl),并在环境描述中注明用途。
  • 脚本职责单一:每个脚本只做一件事(如“取 token”或“校验字段”),便于维护与复用。
  • 稳定性优先:避免在 Pre-request 中执行耗时很长的外部调用;必要时增加 超时/容错结果缓存
  • 持续集成:将集合与环境纳入版本控制,使用 NewmanCI 中定时或提交触发执行,并收集报告。
  • 排错流程:先查看 Test Results 定位失败的 pm.test;再用 Postman Console(Ctrl+Alt+C) 检查 console.log 与请求细节;必要时在 Collection Runner 逐步执行以复现问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Postman在Ubuntu上如何进行自定义脚本编写
本文地址: https://pptw.com/jishu/763884.html
ubuntu分卷能加快安装速度吗 Ubuntu上Postman如何进行版本控制

游客 回复需填写必要信息