ubuntu

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

小樊
44
2025-12-04 09:34:31
栏目: 智能运维

在Ubuntu上编写 Postman 自定义脚本

一 环境与脚本类型

二 编写与调试步骤

三 常用脚本示例

// 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 });
}
// 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");
});
# 导出集合与环境为 JSON 后
newman run collection.json --environment environment.json

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

四 最佳实践与排错

0
看了该问题的人还看了