性能测试全栈笔记:5.接口与HTTP协议
性能测试全栈笔记
开篇申明:本节主要介绍接口及HTTP基本使用,会看接口(API)文档,知道如何解析文档,能够区分请求与响应即可。
五、接口与HTTP协议
目标:
- 1.了解HTTP协议的特点
- 2.具备接口文档解析能力
接口测试基础理论:
- 接口概念:系统或组件之间数据交互的通道。
- 接口分类:
- 软件(这里只关注软件层接口):
- 系统之间的接口
- 组件之间的接口
- 硬件(不介绍)
- 接口测试:
- 概念:针对接口开展测试。主要测试数据的传递、交互、控制管理过程以及逻辑依赖关系。
- 原理:模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
引申内容:接口自动化测试:用工具或代码代替人工基于接口项目进行测试的过程。工具一般使用Postman+Newman+Jenkins(此内容会在后续Postman专题课中分享)
HTTP协议:
- 概念:
- 超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。
- HTTP协议特点:
- 支持客户端/服务器模式
- 简单快速
- 灵活
- 无连接
- 无状态
重点内容开始:
1.HTTP请求:
- 请求行:
- 请求方法:get/post/put/delete
- URL
- 协议及版本:HTTP1.0
- 请求头:
- 用来指定客户端传递给服务器的数据类型(Content-Type)
- 常见的是JSON/表单类型
- 请求体:
- 简单的可以理解为入参的值
- get请求没有请求体,delete也没有
- 有请求体的一般是post和put类型
2.HTTP响应:
- 响应行(状态行):1xx/2xx/3xx/4xx/5xx
- 值得关注的是401和403:
- 401:Unauthorized,简单解释:用户没有得到授权(可能是账号、密码等错误)
- 403:Forbidden,简单解释:用户得到授权(但没有指定接口的权限),就是说虽然有账号密码,但是权限不够,不能访问所有接口
- 值得关注的是401和403:
- 响应头:
- 响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理响应数据
- 响应体:
- 响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码
3.URL:
概念:统一资源定位符。是互联网上标准资源的地址,HTTP使用URL来建立连接
和传输数据。
URL格式:
- 1.协议:http/https
- 2.域名或IP
- 3.端口号:默认端口号可以省略,值得注意的是
- http:默认端口80
- https:默认端口443
- 4.资源路径:path
- 5.参数:
- ?:?后面的内容服务器不做解析,为参数内容
- &:需要传递多个参数时,使用&拼接,比如:name=zhangsan&age=20
接口规范:
目的:为了让前后端开发人员更好的配合,提升工作效率。
1.传统接口风格:
2.Restfull风格接口:
3.接口文档(API)解析:
- 请求:
- 请求方法
- 请求地址
- 请求参数
- 请求头
- 请求体
- 响应:
- 状态码
- 响应数据
至此,接口及HTTP协议介绍完毕,可自行扩展。下面一起进入Jmeter的世界。