Postman在Ubuntu上如何进行自定义脚本编写
导读:在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 Script 或 Tests 页签,输入脚本并保存。
- 发送请求后,在响应区域的 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 中执行耗时很长的外部调用;必要时增加 超时/容错 与 结果缓存。
- 持续集成:将集合与环境纳入版本控制,使用 Newman 在 CI 中定时或提交触发执行,并收集报告。
- 排错流程:先查看 Test Results 定位失败的 pm.test;再用 Postman Console(Ctrl+Alt+C) 检查 console.log 与请求细节;必要时在 Collection Runner 逐步执行以复现问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Postman在Ubuntu上如何进行自定义脚本编写
本文地址: https://pptw.com/jishu/763884.html
