postman
基本框架
变量
-
环境变量Environment
- pm.environment.get(‘变量名’)
-
全局变量Globals
- pm.globals.get(‘变量名’)
-
集合变量Variables
- pm.pm.collectionVariables.get.get(‘变量名’)
集合Collections
-
接口文档
- 自动生成接口文档
- 支持markdown格式
-
mock服务
- Create a mock server
-
接口监控
- Create a monitor
-
集合分支管理
- 创建分支
- pull
- merge
接口请求类型
1. 带参数的URL请求:键值对 、 get请求
2.表单类型的请求
- Content-Type::application/x-www-form-urlencoded
3.支持文件上传
- body-> form-data 、post请求
4.json类型
- body-> raw -JSON
Pre-request Script
请求前置脚本:发送请求前要执行的脚本
1.可进行数据初始化
Tests
1.状态码断言
- pm.test(“Status code is 200”, function () {
pm.response.to.have.status(200);
2.状态消息断言
- pm.test(“Status code name has string”, function () { pm.response.to.have.status(“OK”);
3.响应时间断言
- 性能断言
4.响应头断言
- pm.test(“Content-Type is present”, function () { pm.response.to.have.header(“Content-Type”)
5.响应体包含某字符串
- pm.test(“Body matches string”, function () {
pm.expect(pm.response.text()).to.include(“string_you_want_to_search”);
}) - 注解:pm.expect(pm.response.text()).to.include(“string”)
5.响应体等于某字符串
- pm.test(“Body is correct”, function () {
pm.response.to.have.body(“response_body_string”);
}) - pm.response.to.have.body(“response_body_string”)
6.响应体包含某键值对
- pm.test(“Your test name”, function () {
var jsonData = pm.response.json();// 响应体必须返回json格式数据
pm.expect(jsonData.value).to.eql(100);//获取键名为value的值
Authorization认证
Inherit auto from parent
-
从父级继承身份验证
- 1.在集合的根目录获取token,保存为全局变量
API Key
- 在请求头添加 model: data xxx-xxx-xxx-xxxx
Bearer Token
- 在请求头中添加Authorization:Bearer Token
接口关联
「上一个接口的响应数据是下一个接口的请求参数」
- 1.提取上一个接口的响应数据值
- 2.将此数据值保存为全局变量
- 3.在下一个接口获取此变量{{变量名}}
newman测试报告
https://www.toutiao.com/i6820918724875256327/
cmd命令:newman run [options]
导入导出
导入Import
-
1.导入集合文件
-
2.导入fiddler数据
- 在fiddler选择请求,Export Sessions->Selected Sessions, 文件格式.bat
- 在postman中的import File中导入
- 自动将请求转换为postman脚本
-
3.Paste Raw Text
-
将浏览器的数据包或接口文档(swagger)的数据粘贴进来自动生成请求
- 1)浏览器抓包,右键Copy-> Copy as cURL
-
- 在postman的Import中粘贴
-
导出
-
导出集合脚本
- Export -> Collection v2.1(recommended)
-
导出环境/全局变量
- MANAGE ENVIRONMENT
XMind - Trial Version