-
接口是什么:系统之间(内-外,内-内)数据交互的通道
-
接口测试是什么:校验接口回发的响应数据与预期数据是否一致
- 测什么?
- 可以1绕过前端界面,不需要客户端。直接对服务器进行测试
- 质量控制前移(掐断错误源头)
- 低成本高收益
- 怎么测
- 1.工具
- postman(简单但功能少:不能直接操作数据库/直接生成测试报告)
- jemeter(难度大,功能全)
- 2.代码
- python+requests库+unittest框架()
- java+httpclient
- 1.工具
- 测什么?
-
HTTP协议(http:基于请求与响应的应用层协议;协议:双方都必须遵守的不同事物之间通信的规则)
-
url
- URL组成
协议 :// hostname[:port]/ path/[? 查询参数1 & 查询参数2]
- 对应为→
协议 :// IP地址:端⼝号/资源路径?查询参数
- 开头为http或https
- 😕/主机ip地址即域名
在⽹络环境中,唯⼀定位⼀台主机 - :端口号(可省略)
在主机上,唯⼀定义个应⽤程序。- http默认端口80
- https默认端口443
- /资源路径(可以省略为/,例如https://www.baidu.com/最末尾的斜杠)
- ?查询参数(给资源路径传递参数)
- 可以有多组,键和值之间用=连接,组之间用&连接
- 如果省略,没有?分隔符
- URL组成
-
http请求协议
-
⼀定产⽣于客户端
-
格式
- 请求⾏(有且只有第一行)
- 格式: 请求⽅法(空格) URL(空格) 协议版本
- 协议版本:常⻅ HTTP/1.1(1.1是版本)
- 请求头(不固定行数):全是键值对k :v
- 空⾏(必须有):代表请求头结束。
- 请求体:发送给服务器请求时,携带的数据
- 请求⾏(有且只有第一行)
-
请求行的请求方法
- GET:查询 —— 没有请求体
- POST:添加 (注册、登录)
- DELETE:删除 —— 没有请求体
- PUT:修改
-
请求头
- Content-Type : 作⽤,指定请求体的数据类型(因此,对于上述的GET和DELETE方法没有用)
注意,在响应信息中也有这个,但是不一定准确,要在请求体里看- application/json:请求体数据类型为json
- application/x-www-form-urlencoded:请求体的数据类型为表单类型。
- Content-Type : 作⽤,指定请求体的数据类型(因此,对于上述的GET和DELETE方法没有用)
-
练习用浏览器(推荐谷歌浏览器)自带开发者工具进行抓包
- 任务:抓包获取 ihrm系统的登录接⼝ 和 tpshop登录接⼝,解析请求数据
-
- 任务:抓包获取 ihrm系统的登录接⼝ 和 tpshop登录接⼝,解析请求数据
-
-
http响应协议
-
⼀定产⽣于服务端。当服务器接收到 http请求协议之后,才会产⽣ http响应协议(响应报⽂、响应包)
-
格式:
- 响应⾏(或状态行):协议版本、状态码、状态码描述
- 响应头:K:V 格式数据。
- 空⾏:代表响应头结束。
- 响应体:服务回发给客户端的数据。⼏乎所有的响应包,都有响应体。
-
状态行
-
有且只有http响应协议的第一行
-
格式:
协议版本 (空格) 状态码 (空格) 状态码描述
-
状态码(5类)
- 1xx:指示信息
- 2xx:成功
- 3xx:重定向 (从旧域名指向新域名)
- 4xx:客户端错误
- 5xx:服务端错误
- 常见错误
-
响应体
- 位于空⾏之下。
- ⼏乎所有响应协议都有响应体。(与请求协议不同)
- 响应体中包含的数据,是接⼝测试过程中,所要使⽤的实际结果!!
-
继续练习解析响应数据
-
-
-
三、接口测试前置知识:HTTP协议与接口练习
于 2024-03-19 16:38:02 首次发布