下载
Windows installation
Download the setup file
Run the installer
谷歌自带chrome插件,不过已经不再做支持,故推荐用chrome app,本文仅对APP使用讲解
后续补充插件使用方法
1. 安装postman
2. 登录Postman(如果没注册,则先注册)
3. 打开postman, 简单介绍下布局
文件导入
1. 以文件方式导入
2. 以文件夹方式导入
3. 以文本方式导入
collection
1. collection 相当于测试套,将每个cases都置于文件夹下,每个case对应一个http请求
2. 运行时可以以collection 为单位
3. 可以监控,间断执行
。。。。
其他功能 可参考postman 官方文档
2. 在web上查看用例内容
点击 “view in web”
web端展示更加直观,但是不可执行,仅显示用例的详细内容,同时支持分享和发布
用例执行
1. 点击左上角 Runner
或者直接从collection 方式打开
按下图所示进行选择
运行结果
结果分析
1. 查看请求与响应,从而判断是否执行正确
用例编写
url: 访问地址
Authorization: 鉴权
Headers: http请求头
Pre-request-Script: 预置条件,一般由js编写
Tests: 运行结果测试判断,校验结果是否正确,如是否返回200,是否结果包含某个字段等
辅助工具: (以下仅对fidller做讲解分析)
1. fidller 抓包分析
2. 也可以通过浏览器F12来辅助测试
3 chrome插件,可以记录每次访问的请求,效果更显著
捕获浏览器发送的各种请求,然后撰写用例
url获取:
Headers获取
请求参数:
对于请求参数中的区别,可以参考
postman中 form-data、x-www-form-urlencoded、raw、binary的区别 - CSDN博客
请求返回结果
以上仅对单个请求进行了模拟,如果要串联很多请求组合模拟功能实现则需要用到环境变量,以达到承上启下的效果。
比如下一个请求需要引用到上一个请求返回的结果中某个参数,则可以通过变量提取将该字段置于变量池中。那么之后的请求可以对其直接引用或者更新其值。
环境变量
局部变量: 仅在当前collection中适用
globals变量: 对所有collection都适用
变量可以直接定义,亦可以在用例执行时生成
变量管理:
自定义
用例执行过程中生成
代码编写
由于postman有自己的语法,所以进行脚本开发时需要按照postman自身的语法格式来编写
postman老版本和新版本语法有些许不同,具体可参考官方手册了解。
脚本用的最多的是在 pre-request-script 和 test
各自都有语法提示,直接进行引用就可以达到预期
常用的脚本:
1. 设置变量:
pm.environment.set("branchId", jsonData.branchId); 新版本
postman.setEnvironmentVariable("user", u_id); 老版本
2. 判断返回200
tests["Status code is 200"] = responseCode.code === 200; 老版本
pm.test("Status code is 200", function () { pm.response.to.have.status(200);}); 新版本
3. 从返回中提取变量
4. 在预置条件中,可以用js编写 方法,但是该方法仅对本次请求生效
5. 打印日志 console.log("applyJson:", result);
可通过console台查看效果
6. 中断:在用例联调中最常用并且重要的语句,可让collection在运行时在指定位置退出
postman.setNextRequest(null);
7. postman语法中需要以 “分号“结尾。
随机数
PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。
{{$guid}}
:添加一个V4风格GUID
{{$timestamp}}
:将当前的时间戳,精确到秒
{{$randomInt}}
:添加0和1000之间的随机整数
代码中循环的控制
外部循环:
要实现请求循环,只能通过指定下一个请求对应的name,跳到指定请求,继续往下走。否则只能一步步请求串联起来,这样代码会显得很冗余
内部循环:
代码内部循环,可以用js代码实现
备注:
postman还可以通过newman+jenkins 可以实现CI,这里不做详述
老版本的postman和新版本的postman都存在一些bug, 建议用5版本
postman官方文档: