懒人必备!9张GIF动图学会Postman高阶技巧:变量/脚本自动化/Mock_postman自动化脚本
各位CSDN的小伙伴们好,我是你们的老朋友唐叔!今天不聊算法,不聊架构,咱们来聊聊每个开发者都离不开的神器——Postman。很多人以为Postman就是个发HTTP请求的工具,那可就大材小用啦!它其实是个功能强大的API开发测试平台,掌握它的高阶玩法,能让你的开发效率提升好几个Level!
文章目录
-
- 一、数据格式处理
- 二、变量管理:让你的请求\"活\"起来
-
- 1. 环境变量:不同环境的切换大师
- 2. 全局变量:跨请求的共享数据
- 三、前置脚本:请求前的\"预备动作\"
- 四、测试断言:自动化验证API
- 五、自动化测试:解放双手
-
- 1. 集合运行器(Collection Runner)
- 2. Newman:命令行中的Postman
- 六、Mock服务:前后端并行开发
- 七、代码导出:快速生成客户端代码
- 八、请求导入:快速创建集合
- 九、分享集合:共享你的成果
- 十、唐叔的小结
一、数据格式处理
是的,Postman作为发送HTTP请求的工具,那么处理数据格式也是信手拈来的事情,尤其是最常见的 JSON 数据处理,快捷键 F12 可以快速批量替换字符,点击 Beautify 按钮即可快速美化 JSON 数据。

二、变量管理:让你的请求\"活\"起来
Postman不仅仅只能使用固定的常量数据,也可以有“变量的”。只需要使用 {{变量名}} 外加在合适的位置定义变量值,即可在多请求中重复使用。
1. 环境变量:不同环境的切换大师
很多小伙伴在测试时,经常要在开发、测试、生产环境间切换,手动改URL?太Low了!环境变量就是为此而生:创建多个环境(开发、测试、生产),一键切换,所有请求自动适应!

2. 全局变量:跨请求的共享数据
变量用在前置脚本或者后置脚本,还可以用于不同请求间传递数据,从而达到跨请求的数据共享。

当然,变量的使用场景还有很多,详细内容可以看唐叔往期文章:告别重复劳动!Postman变量指南,让API测试飞起来 | 唐叔出品
三、前置脚本:请求前的\"预备动作\"
前置脚本(Pre-request Script)可以在发送请求前执行,适合做数据准备:
// 生成签名const moment = require(\'moment\');let timestamp = moment().unix();pm.environment.set(\"timestamp\", timestamp);let secret = \"my_secret_key\";let sign = CryptoJS.MD5(`param1=value×tamp=${timestamp}${secret}`).toString();pm.environment.set(\"sign\", sign);
当然,也很适合用于获取 token,如上一章节的变量传递所示,下面是一个参考使用示例。
pm.sendRequest({ url: pm.environment.get(\'base_url\'), method: \'POST\', body: { mode: \'raw\', raw: JSON.stringify({ username: pm.environment.get(\'username\'), password: pm.environment.get(\'password\') }) }}, function (err, res) { if (!err) { pm.environment.set(\'access_token\', res.json().token); }});
四、测试断言:自动化验证API
后置脚本,如上述章节,可以用于传递变量。当然,也可以用于撰写Tests脚本,自动验证API返回是否符合预期:
pm.environment.set(\"email\", pm.response.json().email)// 检查状态码pm.test(\"Status code is 200\", function() { pm.response.to.have.status(200);});// 验证响应时间pm.test(\"Response time is less than 200ms\", function() { pm.expect(pm.response.responseTime).to.be.below(200);});// 验证JSON返回值pm.test(\"User id is correct\", function() { var jsonData = pm.response.json(); pm.expect(jsonData.user.id).to.eql(1001);});// 验证Schema结构pm.test(\"Schema is valid\", function() { const schema = { type: \"object\", properties: { success: {type: \"boolean\"}, data: { type: \"object\", properties: { id: {type: \"number\"}, name: {type: \"string\"} }, required: [\"id\", \"name\"] } }, required: [\"success\", \"data\"] }; pm.response.to.have.jsonSchema(schema);});

五、自动化测试:解放双手
1. 集合运行器(Collection Runner)
批量运行整个集合的请求,并生成测试报告:
- 点击Collections → 选择集合 → Run
- 设置迭代次数、延迟等参数
- 查看详细的测试结果

2. Newman:命令行中的Postman
Newman让你可以在CI/CD流程中运行Postman集合:
npm install -g newmannewman run mycollection.json -e env.json --reporters cli,html
六、Mock服务:前后端并行开发
前端不用等后端,自己造数据:
- 创建Mock服务器
- 定义Mock路由和响应示例
- 前端直接调用Mock URL
唐叔前面的请求调用实际上都是使用Mock服务,完全没有使用到后端服务。

七、代码导出:快速生成客户端代码
Postman支持将请求导出为多种语言的代码:
- 点击请求右侧的
按钮 - 选择语言(Python、JavaScript、Java等)
- 复制代码到你的项目中

八、请求导入:快速创建集合
可以从这些地方导入请求:
- cURL命令
- Swagger/OpenAPI文档
- HAR文件
- WSDL
特别实用的是从浏览器开发者工具直接复制cURL导入Postman。

九、分享集合:共享你的成果
- 分享集合:导出为JSON文件

- 也可以使用分享链接方式,不过前提需要能访问postman的地址。
十、唐叔的小结
Postman的这些高阶功能,就像瑞士军刀里的隐藏工具,平时可能不注意,但用起来真香!总结一下重点:
- 善用变量管理,让请求灵活适应不同环境
- 前后置脚本是自动化测试的灵魂
- Mock服务让前后端不再互相等待
- 自动化测试集成到CI/CD提升质量
- 代码导出功能节省开发时间
掌握这些技巧,你就能从Postman新手晋升为API测试高手!如果觉得有用,别忘了点赞收藏,有什么问题欢迎评论区交流~
往期文章推荐:
- 告别重复劳动!Postman变量指南,让API测试飞起来 | 唐叔出品
- 【唐叔实战】三步搞定!教你如何将浏览器请求轻松导入Postman
- 【HTTP文件使用指南】唐叔手把手教你玩转HTTP请求,从入门到精通!


