使用Postman进行接口测试
1、Postman介绍
Postman是一款轻量级的网页调试与验证网页HTTP请求的测试工具
Postman功能:
提供了快捷、全面的WebAPI & HTTP请求的调试功能
能够发送GET、POST、PUT、DELETE等常用的HTTP请求方法
可以附带任何数量的参数和HEADER配置
支持不同的认证机制
可以保留和管理请求记录
2、Postman用法
(1)使用步骤:
输入一个URL,并点击Send 按钮
该请求由API 服务器接收,并返回响应。
响应由Postman 接收,接口响应内容在工具中可视化
将请求保存到集合 Collection中
测试相关
编写请求Test 节点
通过Runner 运行所保存的集合 Collection
(2)API构造请求
Method
请求发送所使用的方法,GET、POST、PUT、PATCH、DELETE等
URL
接收请求的URL地址
Params
请求所需要传递的参数(显性传递)
Authorization
配置请求所需的认证
Headers
配置请求的HEADER信息,如User-Agent、Content-Type等
Body
请求URL所需传递的数据
(3)请求与响应
通过点击SEND按钮发送请求,并获取返回响应(4)环境变量
配置环境变量
环境变量使用
3、测试脚本开发
调式控制台输出日志
获取响应中的JSON数据
转化响应中的值为JSON格式
转化xml类型响应为JSON格式
通过tests 方法进行测试
通过pm.test方法进行测试
测试脚本开发——验证:
验证响应体等于一个字符串
pm.response.to.hava.body(“expect body string”)
验证响应体中包含某个header
pm.response.to.hava.header(“Expect-Heaer”)
验证接口响应返回值
pm.response.to.have.status(200)
pm.expect(pm.response.code).to.be.oneOf([200,201,202])
验证响应时间是否小于指定数值
pm.expect(pm.response.responseTime).to.be.below(target_number_value)
验证响应体的JSON值
pm.expect(JSONData.key).to.eql(expect_value)
测试脚本开发——高级
获取数据类型
console.log(typeof target_data)
pm.response对象
pm.response.code:Number
pm.response.headers:HeaderList
pm.response.responseTime:Number
pm.response.text():Function -> String
pm.response.json():Function -> object
pm.cookies对象
pm.cookies.has(cookieName:String):Function -> boolean
pm.cookies.toObject():Function -> object
Postman 通过JS的Tiny Validator进行JSON格式验证
type 为JavaScript数据类型:
String(字符串)、number(数字)、boolean(布尔)、array(列表)、map(字典)
4、导出测试报告
NewMan是Postman的命令行运行器
安装nodejs
nodejs下载地址: https://nodejs.org/en/download/package-manager/
安装
npm install -g newman
安装生成html报告的newman组件
npm install -g newman-reporter-html
运行
newman run <collection.json> # 集合数据的路径
-e <environment.json> # 环境json数据的路径
-d <data.json> # 参数数据
-r <报告模板 推荐html>
–reporter-html-export 报告保存路径
-n <run_times>
推荐使用python API 数据驱动框架代替