HTTP请求:
组成的三部分:请求行、请求头、请求体
请求行:请求方式,请求的URL,请求的协议版本(第一行)
请求头:以K:V来记录请求的属性(第一行到空行之间)m
请求体:携带请求的参数(空行以下)
HTTPS:
1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用;2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。”
接口测试流程:
1.需求分析:主要依据需求文档
2.接口文档解析:一般由开发人员编写接口文档(API文档)
3.设计测试用例
4.执行测试
--使用接口测试工具实现
--通过编写代码实现
5.接口缺陷管理与跟踪
6.生成测试报告
7.接口自动化持续集成
抓包
Charles 主要的功能包括:
将 Charles 设置成系统代理
之前提到,Charles 是通过将自己设置成代理服务器来完成封包截取的,所以使用 Charles 的第一步是将其设置成系统的代理服务器。
启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” –> “Mac OS X Proxy” 来将 Charles 设置成系统代理。如下所示:
之后,你就可以看到源源不断的网络请求出现在 Charles 的界面中。
需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。
Charles 主界面介绍
Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。
大家可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。
对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles 可以自动帮你将 JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles 可以显示出图片的预览。