Postman

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 Postman 集合、环境和 NewmanCLI 构建、测试和自动化 API。

设置 : 如果 ~/ postman/ 不存在, 请静默读 setup. md 并自然启动

功能概述

设置 : 如果 ~/ postman/ 不存在, 请静默读 setup. md 并自然启动是一项面向实际任务的技能,主要用于用户需要测试 API 、 创建 Postman 收藏、 管理环境, 或者运行自动 API 测试 w。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

设置

如果 ~/postman/ 目录不存在,请静默读取 setup.md 并自然启动。

适用场景

用户需要测试 API、创建 Postman 集合、管理环境,或使用 Newman 运行自动化 API 测试。

架构

所有数据存放在 ~/postman/ 目录中。结构定义详见 memory-template.md。

~/postman/
├── memory.md           # 项目、偏好设置、通用模式
├── collections/        # Postman 集合 JSON 文件
└── environments/       # 环境 JSON 文件

速查表

主题 文件
设置 setup.md
记忆模板 memory-template.md
集合格式 collections.md
Newman 自动化 newman.md

核心规则

1. 优先定义集合结构

在创建请求前,先明确集合的结构:

  • 文件夹层级应反映 API 的组织逻辑
  • 使用描述性名称,例如 Users > Create User,而非 POST 1
  • 将相关端点按逻辑分组

2. 始终使用环境变量

禁止硬编码随环境变化的值:

{
  "key": "base_url",
  "value": "https://api.example.com",
  "enabled": true
}

在请求中统一使用 {{base_url}}。标准环境包括:dev、staging、prod。

3. 认证逻辑置于 Pre-request Script

通过 Pre-request Script 处理认证,避免手动操作:

// 获取 token 并设置到当前 collection
pm.sendRequest({
    url: pm.environment.get("auth_url"),
    method: 'POST',
    body: { mode: 'raw', raw: JSON.stringify({...}) }
}, (err, res) => {
    pm.environment.set("token", res.json().access_token);
});

4. 每个请求必须包含测试断言

每个请求至少需包含基础断言:

pm.test("Status 200", () => pm.response.to.have.status(200));
pm.test("Has data", () => pm.expect(pm.response.json()).to.have.property("data"));

5. 使用 Newman 支持 CI/CD

通过 Newman 无界面运行集合:

newman run collection.json -e environment.json --reporters cli,json

退出码为 0 表示全部测试通过,可直接集成至 CI 流水线。

集合格式

最小化集合示例

{
  "info": {
    "name": "My API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Get Users",
      "request": {
        "method": "GET",
        "url": "{{base_url}}/users",
        "header": [
          { "key": "Authorization", "value": "Bearer {{token}}" }
        ]
      }
    }
  ]
}

含测试脚本的请求示例

{
  "name": "Create User",
  "request": {
    "method": "POST",
    "url": "{{base_url}}/users",
    "body": {
      "mode": "raw",
      "raw": "{"name": "{{$randomFullName}}", "email": "{{$randomEmail}}"}",
      "options": { "raw": { "language": "json" } }
    }
  },
  "event": [
    {
      "listen": "test",
      "script": {
        "exec": [
          "pm.test('Created', () => pm.response.to.have.status(201));",
          "pm.test('Has ID', () => pm.expect(pm.response.json().id).to.exist);"
        ]
      }
    }
  ]
}

环境格式

{
  "name": "Development",
  "values": [
    { "key": "base_url", "value": "http://localhost:3000", "enabled": true },
    { "key": "token", "value": "", "enabled": true }
  ]
}

Newman 命令速查

任务 命令
基础运行 newman run collection.json
指定环境运行 newman run collection.json -e dev.json
运行特定文件夹 newman run collection.json --folder "Users"
迭代执行次数 newman run collection.json -n 10
加载数据文件 newman run collection.json -d data.csv
生成 HTML 报告 newman run collection.json -r htmlextra
失败即终止 newman run collection.json --bail

常见陷阱

  • 硬编码 URL → 测试在不同环境间失效。务必使用 {{base_url}}。
  • 缺失断言 → 测试“通过”但未做任何验证。请至少添加状态码 + 响应体检查。
  • 在集合中存储密钥 → 导致凭据泄露。应仅通过环境变量管理,并确保 environments/ 目录被 .gitignore 排除。
  • 隐式顺序依赖 → 测试随机失败。请显式使用 setNextRequest(),或设计为完全独立的测试用例。
  • 遗漏 Content-Type → POST/PUT 请求可能静默失败。务必显式设置 Content-Type: application/json。

动态变量

Postman 内置测试数据变量:

变量 示例输出
{{$randomFullName}} "Jane Doe"
{{$randomEmail}} "jane@example.com"
{{$randomUUID}} "550e8400-e29b-..."
{{$timestamp}} 1234567890
{{$randomInt}} 42

OpenAPI 转 Postman

导入 OpenAPI/Swagger 规范:

  1. 导出 OpenAPI JSON/YAML 文件
  2. 在 Postman 中:Import > File > 选择规范文件
  3. 自动生成包含全部端点的集合

或通过 CLI 执行:

npx openapi-to-postmanv2 -s openapi.yaml -o collection.json

安全与隐私

本地留存的数据:

  • 集合与环境文件均位于 ~/postman/
  • Newman 始终在本地运行

本能力不会执行以下操作:

  • 向外部服务上传集合
  • 在 memory.md 中存储 API 凭据

相关技能

如用户确认,可通过 clawhub install 安装:

  • api — REST API 调用模式
  • json — JSON 数据处理与校验
  • ci-cd — 流水线自动化

反馈

  • 若本技能有用:clawhub star postman
  • 保持更新:clawhub sync

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

2023.10.13

3270

8

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

0

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

0

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

0

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Postman Native Git工作流指南
Postman Native Git工作流指南

共0课时 | 0人学习

Postman Vault密钥管理指南
Postman Vault密钥管理指南

共0课时 | 0人学习

Postman集合运行器使用指南
Postman集合运行器使用指南

共0课时 | 0人学习