- 使用Charles分析前后端问题
- 使用Charles模拟弱网测试环境
- 使用Charles的断点构建异常的测试场景
简介
- 是什么 : 基于http协议的代理服务器,通过成为电脑或浏览器的代理,截取请求和请求结果达到分析抓包的目的(中介)
- 工作原理 :
- 前置步骤:
- 需要运行Charles并配置
- 客户端上也配置
- 步骤:
- 由客户端发送请求
- Charles接收再发送给服务器
- 服务器返回请求结果给Charles
- 由Charles转发给客户端
- 前置步骤:
- 主要功能 :
- 支持http及https代理
- 支持流量控制(用于弱网)
- 支持接口并发请求
- 支持重发网络请求
- 支持断点调试
- 优点(支持多系统,页面简洁,Charles支持按域名和接口查看报文,支持反向代理,可选择网络类型,解析AMF协议)
Charles配置
- 代理配置
- 访问控制
- Add在对话框的IP可以访问,没在对话框的IP不能访问(想访问就勾选Prompt to allow选项)
- Add在对话框的IP可以访问,没在对话框的IP不能访问(想访问就勾选Prompt to allow选项)
客户端代理配置
- windows代理(访问其他的客户端,配置其他的客户端代理配置)
- win+i 打开本机电脑的代理界面进行配置
- 勾选打开代理设置ip地址(现在版本是自动设置,可以不管)
- Android手机代理配置
- 基本步骤
Charles实战
- 问题分析------比如更改ihrm系统中用户的名字报错
- 前端 : 后台返回一个结果但显示两次提示信息,是前端问题
- 后台 : 提示系统繁忙,是后台返回的数据
- https抓包
- 有些网页因为加密导致无法获取信息,故进行证书配置
- help—>SSL Proxying–>Install Charles Root Certificate
- 安装证书–>本地计算机–>下一步
- 将所有证书都粗放囊在下列存储–>浏览
-
Https代理配置
- proxy --> SSL proxying setting
- proxy --> SSL proxying setting
-
弱网测试
- 流量配置
- 点击Proxy–>Throttle Setting
- 选中对应网络类型
- 示例 : 将网速设置为56K modem的网络打开ihrm系统,时间从88ms到2s,明显速度变慢,但一般建议使用时间更明显
-
断点调试
- 作用:用于构建异常的测试场景
- 步骤
- 点击刷新,进入新页面,点击Edit Response
- 数据格式栏选择合适的显示格式,例如json
- 修改数据点击execute,回到浏览器查看数据为修改后的Response
实战
-
场景1 : 人事管理系统中增加角色时,把角色名设置为空,然后请求到服务器
- 结果 : 增加成功,后台代码存在问题
-
场景2 : 针对查询员工接口请求时,修改返回数据success=false,code=999,message=操作失败
- 结果 : 页面显示为空(与修改结果一致)