使用 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 规范:
- 导出 OpenAPI JSON/YAML 文件
- 在 Postman 中:Import > File > 选择规范文件
- 自动生成包含全部端点的集合
或通过 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
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。
3270
2023.10.13
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
热门下载
精品课程