接口测试总结
协议
HTTP的完整请求
发送Request请求
请求地址
Postman
JMeter
请求方法
GET 获取、POST 添加、PUT 修改、DELETE 删除
请求头
User-agent、cookie、Referer、content-type
请求参数
GET请求:query params,如?key1=value1&key2=value2
Postman
JMeter
Response响应
协议状态码
200 请求成功
201 添加成功
204 删除成功
301 永久重定向
302 临时重定向
400 Bad Renquest 请求错误(请求头或者请求参数不对)
401 Unauthorrized 无权限访问该系统
403 Forbidden 有权限但是禁止访问
404 请求的资源不存在(请求的地址不存在,所以导致请求的资源也是不存在)
405 不被允许的请求方法(405 MERHOD NOT ALLLOWED),就像请求的方法,没有定义对应的请求方法,但是你去操作访问
程序员的错误
500 服务器内部错误
1)空指针 Null PointExpection
2)堆栈溢出 在测试选择项的时候i,选择很多很多的项,同时触发,看是否会暴露该问题
3)OOM-内存泄漏(Out Of Memory)
4)其他异常 Expection
504 GateWay Timeout-网关超时
响应数据
响应数据返回的数据格式是由响应头里面的content-type来决定
业务状态码
msg
数据
响应头
Content-type
指明返回的响应数据的数据格式是什么
Set-cookie
服务端返回给客户端的登录凭证
状态及流程
cookie&session&token区别
cookie主要是存储用户操作行为的数据,session是把登陆成功后的数据存储在服务端,token本质是cookie的原理,可以理解为一个令牌
session流程
1、客户端输入账户和密码,点击登录
2、登陆成功后,会把服务端把用户登陆成功的信息生成一个sessionID的凭证,并且存储在服务端
3、服务端会通过响应头中的set-cookie把生成的sesson返回给客户端
4、客户端再次查看个人主页,客户端通过请求头中的cookie,把set-cookie返回来的sessionID带上,发送给服务端
5、服务端接收到客户端发送的sessionID,和存储在服务端的sessionID做一个对比
6、如果对比一致,用户可以继续访问系统的任何功能,如果结果不一致,立刻跳转到登录的页面
token流程
1、客户端输入账户和密码,点击登录
2、登陆成功后,会把服务端把用户登陆成功的信息生成一个Token的凭证,同时存储在服务端
3、服务端会通过响应数据或者响应头中的set-cookie返回给客户端
4、客户端再次向服务端发送请求,会在请求参数或者请求头中的Authuration中带上返回来的token发送给服务端
5、如果对比一致,用户可以继续访问系统的任何功能,如果结果不一致,立刻跳转到登录的页面
动态参数
https://www.cnblogs.com/weke/p/15615957.html
Postman解决方案
tests定义全局的变量来获取动态参数
JMeter解决方案
JSON提取器
正则表达式提取器
登录页面
Response中显示的信息复制在线正则表达式测试 (oschina.net)获取TOKEN的信息
API的测试维度
测试什么
测试场景
接口的后端设计
有接口文档(YAPI)
没有接口文档
network
charles