接口自动化测试(未完待续)
接口测试自动化
概述
一、完整的接口自动化的流程
1、项目业务
2、接口文档
3、接口用例:excel、yaml
4、自动化脚本
5、自动化框架:unittest、pytest(pytest是unittest的升级版,pytest可以搭建自动化平台)
自动化平台:前端 (vue)+ 后端(Django/Flask)+ 执行框架pytest
6、调试&执行
7、测试报告:Allure
8、结果分析
9、持续集成:Jenkins
二、接口测试原因和目标
三、接口测试类型
四、接口测试什么时候介入?
在有需求文档,开发还在开发时就可以介入
HTTP协议
请求报文
1、请求报文格式:四个部分
第一部分:请求行。独占一行的。由:请求方法、请求路径、请求协议/版本组成。
第二部分:请求头。从第二行到第N行。由键值对 组成。可以有1对,也可以有N对。key:value
第三部分:空行。独占一行的。由回车换行组成。
第四部分:请求正文(请求消息体)。
2、常见请求头含义:
1、User-Agent:告诉服务器客户端的相关信息(如果是浏览器会有版本,内核等信息)
2、referer:告诉服务器,此请求是从哪个页面上发出来(防盗链)
3、X-Requested-With:告诉服务器这个是一个ajax请求
4、Cookie:带给服务器的cookie信息
5、content-type:告诉服务器消息体的数据类型
响应报文
1、响应报文格式:四个部分组成
第一部分:状态行,独占一行。由协议/协议的版本、状态码、状态描述符组成
第二部分:响应头,从第二行到第N行。由键值对组成。
第三部分:空行。独占一行的。由回车换行组成。
第四部分:响应的正文
2、常见响应头含义:
1、location:告诉浏览器跳到哪里
2、content-length:告诉浏览器回送数据的长度
3、content-type:告诉浏览器回送数据的类型
cookie:服务器发给客户端
-
在请求的响应数据—响应头–Set-cookies(sessionid会跟随cookie一起发给客户端)
-
本地存放
-
cookies攻击
sessionid:会话id
- 身份验证
- 存放到 服务器
token:通行令牌,一般有时间限制
- name 、 password
接口工具对比
wireshark:底层网络抓包
Burpsuit:安全抓包
Fiddler 用途
接口自动化测试数据源
- excel用例
- yaml格式用例
关于代理