1.接口分类
外部接口--只需测试正例即可
内部接口--只提供给内部系统使用(预算系统、保单系统)---测试正例即可
内部即可---提供给外部系统使用---测试必须全面,正例、各种异常场景、权限登
2.接口测试流程
(1)拿到API文档(通过抓包工具获取),熟悉接口业务、接口地址、鉴定方式、入参、返回码
(2)编写测试用例
正例:输入正常入参,接口能够返回数据
反例:
鉴权反例:鉴权码为空、错误、过期...
参数反例:参数为空、参数类型异常、参数长度异常
错误码覆盖:根据业务而定
其他错误场景:接口黑名单、接口调用次数限制、分页场景。
(3)使用接口测试工具postman执行接口测试
(4)postman+newman+jekins实现持续集成,并且输出测试报告并且发送邮件。
3.postman 安装、注册
官网安装、注册登录
home 主页
workspaces 工作空间
collections 集合,项目集合
APIs API文档
Enviromennts 环境变量,全局变量
Mock Server 虚拟服务器
Monitors 监听器
History 历史记录
4.postman执行接口测试
(1)请求页签:
Params get请求传参
authonzation 鉴权
headers 请求头
Body post请求传参
form-data 传键值对参数或文件
x-www-form-urlencoded 只能够传键值对参数
raw json、text、xml、html、JavaScript
binary 把文件以二进制方式传参
pre-request 请求之前的脚本
tests 请求之后的断言
cookies 用于管理cookie信息
(2)响应页签
body 接口返回的数据
pretty:以json、html、xml等不同的格式查看返回的数据
raw:以文本方式查看返回的数据
preview :以网页方式查看返回的数据
cookies:响应的cookie信息
headers:响应头
tests results:断言结果
200状态吗 ok状态信息 响应时间 响应字节数 保存响应
(3)get请求和post请求的区别(面试题)
get请求一般是获取数据,post一般是提交数据。
post请求比get请求安全。
本质区别,传参方式不一样:
get请求在地址栏后面以?的方式传参,多个参数之间用&分隔。
post请求是在body以表单的方式传参。
问题:开发环境、测试环境、生产环境
接口关联:需要手动关联
参数需要手动修改
解决:
5.postman的环境变量和全局变量
环境变量就是全局变量
全局变量是能够在任何接口里面访问的变量
获取环境变量的值是通过:{
{变量名}}
6.接口关联的两种方式
(1)使用json提取器实现接口关联
第一个接口:
//console.log(responseBody);