一、目标
- 能够用Charles来分析前后端的问题。
- 能够用Charles模拟弱网测试环境。
- 能使用Charles的断点构建异常的测试场景。
二、什么是Charles?
Charles中文名叫青花瓷,它是一款基于HTTP协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和响应达到分析抓包的目的。
特点:跨平台。
三、Charles的工作原理
前置步骤:
- 需要在一台电脑上运行Charles并进行配置,这台电脑才能成为代理服务器。
- 在客户端上面需要配置代理,比如配置IP(代理服务器的IP)、端口(Charles默认端口是8888)等。
工作原理:
- 由客户端发送请求。
- Charles接收,再发送给服务端。
- 服务端返回响应数据给Charles。
- 最后由Charles将响应数据发送给客户端。
四、Charles能做什么?
- 支持HTTP及HTTPS代理。
- 支持流量控制,可以用来做弱网控制。
- 支持接口并发请求,可以用来做一些简单的性能测试、压力测试等。
- 支持重发网络请求,用的较少。
- 支持断点调试,可以通过打断点来修改请求数据和响应数据,可以用来构建一些异常的测试场景。
五、Charles相比于Fiddler,有哪些优点?
- Charles能够支持Linux、MacOS系统,Fiddler只对Windows比较友好。
- Charles支持按域名和按接口查看报文,页面展示简洁明了。
- Charles支持反向代理。
- Charles网络限速可选择不同的网络类型,如3G、4G等;Fiddler需要自行修改上传或下载的速度。因此Charles在选择不同的网络类型时,更加的简便。
- Charles可以解析AMF协议,用的较少。