接口测试总结2022.1.18
协议
HTTP的完整请求
客户端与服务端进行tcp的连接
客户端向服务端发送request请求
服务端向客户端进行相应回复
客户端与服务端关闭tcp连接
请求地址
postman

jmeter
![]()
请求方法
get:获取 post: 添加 put:修改 delete:删除
postman

jmeter

请求头
User-agent
cookie
Referer
content-type
postman

jmeter

请求参数
get请求:路径参数query params,如?key1=value1&key2=value2
postman

jmeter

Response响应
协议状态码
1xx开头一般是表示临时相应,并需要请求者,去继续执行操作的一个状态代码
2xx表示成功请求的状态代码
3xx是表示完成请求需要进一步操作,通常是用来重定向的
4xx是表示请求出错,妨碍了服务器的处理
5xx是服务器在尝试处理请求时发生的内部错误,可能是服务器本身的错误,而不是请求出的错误
经常见到的有 200通过204删除 301永久重定向 302临时重定向 400请求参数请求头 401无权限访问 403有权限不能访问 404地址不对405请求方法错误(get用成别的) 500(服务端) 504(网关超时)
响应数据
{
业务状态码
msg
数据
}
响应头
Content-type
Set-cookie

状态以及流程
cookie&session&token区别
cookie 数据存放客户端 安全性能差 保存数据有限 生命周期累计
session 数据村房子服务端 安全性相对于cookie好 访问服务多比较占资源的性能 保存数据没有限制 生命周期是间隔的
token:占用率低 安全性高 拓展强
cookie流程
session流程
客户端登陆成功
服务端通过响应头的set cookie 把登陆成功后的 session id 返回客户端
客户端再次请求个人主页请求头带上set cookie 返回给session id返回给服务端
服务端接收到后与本都进行对比 相等个人主义信息 不相等就重定向到登录界面
token的流程
我是谁---》动态参数
postman

jmeter


动态参数怎么解决
postman
有个系统会返回一个token
我们后面个人主页在请求头里加上这个token
登录的整个接口中text中定义一个变量 获取到数据
定义全局变量 获取登陆成功后相应数据中token的值在个人主页中{{}}进行调用变量
在加到集合中 先 登录 后 主页 运行结合
jmeter
登录接口后
添加一个json提取器或正则表达式提取器
定义一个变量 取到登录成功后相应数据的token值
在个人主页中用${}进行调用 进行运行
API的测试维度
测试什么?
测试场景 例:测试点 增加、删除、修改等
别⼈给你⼀个服务,怎么测试?
测试场景
接⼝的后端设计
有接⼝⽂档
怎么看?YAPI的平台进行查看
没有接⼝⽂档
network浏览器进行查看
charles抓包
先进性charles进行抓包 找到他的请求头 headers
再找到它的请求头 request
API的验证
协议状态码
业务状态码
数据
登录接⼝OK可以说登录业务OK?
前端问题还是后端问题?
假如我输入123 后端返回的123 但是界面是456前端问题
假如我输入123 后端返回的456 但是界面是456 前后端问题
假如我输入123 后端返回的456 但是界面是123后端问题
怎么断⾔
postman --->tests
JMeter--->响应断⾔
JMeter--->JSON断⾔
JMeter--->JSON Path Assertion断⾔
API的批量执⾏
postman Newman 怎么搭建?
node.js
npm install newman
cmd打开控制台,在里面输入如下命令安装:
npm install newman-reporter-html
验证是否OK?

怎么使⽤?
1.先在postman中使用export把文件放在自己能找到的路径比如你放到c盘就复制他的路径
2.打开控制台输入 newman run 加文件名称生成测试报告

postman测试报告⽣成描述


postman测试报告⽣成描述
JMeter
ant 怎么搭建?
java环境的搭建
怎么验证?
build.xml到底是什么?
怎么使⽤?
JMeter测试报告⽣成描述
1进行java环境
2.编写build.xml文件
3.定义目录
4.定义脚本
5.进入定义目录 ant
会自动进入
然后去相应的目录下就可以看到html文件
postman
get请求参数
POST表单请求参数
POST的XML请求参数
POST的JSON请求参数

断言写在哪里?
tests

集合怎么加?

执行测试查看测试结果?

jmeter
get请求参数
POST表单请求参数
POST的XML请求参数
POST的JSON请求参数

HTTP信息头管理器

HTTP cookie管理器
HTTP请求默认值

用户参数

csv txt

用户定义的变量
公共的数据分出来
JSON提取器

正则表达书提取器

协议
HTTP
HTTPS

浙公网安备 33010602011771号