接口测试基础
定义
基于不同的输入参数,校验接口响应数据与预期数据是否一致。后端开发完成后可以先进行接口测试,提前介入测试,尽早发现问题。
接口测试学习内容
1.接口测试用例设计
2.工具实现接口测试,主要就是利用postman或者其他工具测试
3.代码实现接口测试,也就是接口自动化测试
URL
1.URL:是互联网上标准资源的地址,一般称为统一资源定位符,在浏览器的地址栏就可以看到每个网页的唯一url
2.组成:协议://hostname[:port]/path/[?查询参数1&查询参数2]
示例:
http://kdtx-test.itheima.net:8080/contract/details?id=449280106&pageType=info
http--->协议:数据传输的格式。如http,https
kdtx-test.itheima.net--->服务器地址:域名或IP
8080--->端口:一个应用程序对外访问的唯一标识,常用;80(http),.443(https),协议默认端口可以省略
contract/details--->路径:主机资源的具体地址,包括目录和文件名等,用“/”隔开
id=449280106&pageType=i----->客户端向服务器传递的数据,参数与路径之间用“?”隔开,多个参数用“&”符合隔开
3.总的来说,url由协议,服务器地址,端口号,资源路径,参数这几部分构成
HTTP协议
HTTP:超文本传输协议,基于请求与响应的应用层协议
作用:规定了客户端与服务器之间信息传递规范,是二者共同遵守的协议。
组成:
- HTTP请求:定义请求数据格式
- 请求行、请求头、请求体
- HTTP响应:定义响应数据格式
- 状态行、响应头、响应体
请求行
位置:请求数据第一行
作用:说明请求方法、访问的资源、协议版本
如下图抓包工具抓取的请求数据,第一行即为请求行
常用请求方法:
- GET:从服务器获取资源
- POST:在服务器新建一个资源
- PUT:在服务器更新资源
- DELETE:从服务器删除资源
请求头
位置:请求数据第二行到空白行之间
作用:通知服务器客户端请求信息
特点:请求头部由键值对组成,每行一对
如下图,红色方框中即为请求头
content-type:请求数据类型
- text/html:HTML格式
- image/jpeg:jpg图片格式
- application/json:JSON格式
- application/x-wwww-form-urlencoded:表单默认的提交数据格式
- multipart/form-data:在表单中进行文件上传时使用
请求体
位置:空白行之后的内容
作用:传输数据实体
注意:请求体常用在POST、PUT方法中使用
常配合的请求头:Content-Type和Content-Length
请求报文中可以没有请求体数据
状态行
位置:响应数据第一行
作用:描述服务器处理结果
内容:状态行由协议版本号,状态码,状态消息组成
状态码:三位数字组成,第一个数字定义响应类别
1XX:指示信息
2XX:成功
3XX:重定向
4XX:客户端错误
5XX:服务端错误
常见响应状态码如下图:
响应头
1.位置:第二行开始到空白行
2.作用:描述客户端要使用的一些附件信息
3.特点:响应头由键值对组成,每行一对
如下图:
响应体
1.位置:响应数据空白行之后
2.作用:服务器返回的数据实体
3.特点:有图片、json、xml、html等多种类型
如下图:
接口规范
1.说明:接口规范主要有两种,一种是传统接口风格,另一种是restful接口风格,传统接口风格现在很少见,一般在比较老的项目中才能见到,现在的项目大多遵循Restful这种接口规范。
2.Restful是一种网络应用程序的设计风格和开发方式,提供了一组设计原则和约束条件。
例如:
特点:
- 请求API的URL用来定位资源,如上图这些地址都是要操作users这个资源,查询/修改/删除某个用户就在资源后面加上参数。
- 通过HTTP方法对资源进行增删改查操作
- 利用HTTP状态码返回状态信息