postman
请求页签
- Params:get 请求传参
- authorization:鉴权
- headers:请求头
- Body:post 请求传参
- form-data:既可以传键值对也可以传为文件
- x-www-from-urlencoded:只能转键值对参数
- raw:json, text, xml, html, javaScript
- binary:把文件以二进制的方式传参
- pre-request-script:请求之前的脚本
- tests:请求之后的断言
- cookies:管理 cookie 信息
响应页签
- Body:接口返回的数据
- Pretty:以 Json,HTML,XML ... 等格式查看返回的数据
- Raw:以文本的方式查看返回的数据
- PreView:以网页的方式查看返回的数据
- Cookies:响应的 Cookie 信息
- Headers:响应头
- Test Results:断言的结果
- Status:状态信息
- Time:响应的时间
- Size:响应的字节数
get 请求和 post 请求的区别
- get 请求一般是获取数据,post 请求一般是提交数据
- post 请求比 get 请求安全
- 本质区别
- get 请求在地址栏后面以 ?的方式传参,多个参数之间用 & 分割
- post 请求是在 body 里以表单的方式传参
获取变量的方法:{{变量名}}
接口关联
-
使用json提取器实现接口关联(写在 tests)
// 第一个接口 // 使用 json 提取器提取 access_token 值 // 把返回的字符串格式的数据转换成对象的形式 var result = JSON.parse(responseBody); // 把 access_token 设置为全局变量 pm.globals.set('accsee_token',result.access_token); // 第二个接口 {{access_token}}
-
使用正则表达式提取器实现接口关联
// 第一个接口 // match 匹配 var result = responseBody.match(new RegExp('"access_token":"(.*?)"')) console.log(result[1]) // 设置为全局变量 pm.globals.set('accsee_token',result.access_token); // 第二个接口 {{access_token}}
内置动态参数以及自定义的动态参数
-
内置动态参数:
- {{$timestamp}} 生成当前时间的时间戳
- {{$randomint}} 生成0-1000之间的随机数
- {{$guid}} 生成速记GUID字符串
-
自定义动态参数(写在 pre-request-script 里)
// 手动的获取时间戳 var times = Date.now(); // 设置为全局变量 pm.globals.set("times",times); // 使用时:{{times}}
Postman断言
常规六种断言
-
Status code: Code id 200
检查返回的状态码是否为 200 -
Response body: Contains string
检查响应中包括指定字符串 -
Response body: Json value check
检查响应中的 json 值 -
Response body: is equal to a string
检查响应等于一个字符串 -
Response headers: Content-Type...
检查是否包含响应头 Content-Type -
Response time is less than 200ms
检查请求耗时小于 200ms
自定义动态参数(全局变量)断言的方式:
pm.gobals.get("times")
globals["times"]
globals.times
全局断言:Edit > Tests
数据驱动
postman 中如果 collection 用数据驱动,已经修改了接口中原本的参数为环境变量调用,那么这个时候请求会把它当做一个普通字符串直接发送。
1、创建excel文件,编写用例,保存为csv格式文件。
2、在 runner 里面 Data 选择csv文件,点击 preview 可以查看数据。
3、接口中请求里面使用数据文件的内容就用 {{列名}}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义