一:Charles主要功能介绍
Charles是一个HTTP代理/HTTP监视器/反向代理,使开发和测试人员能够查看机器和Internet之间所有的HTTP和SSL/HTTPS流量,这包括请求,响应、和HTTP标头(包含cookie和缓冲信息),不是完全免费,但是可以破解,Charles是基于Java的,基本上可以运行在所有主流的桌面系统。(Fiddler抓包工具只能运行在Windows平台,Fiddler开源免费)。我最早接触Charles是在软件开发的过程中用浏览器F12调试功能抓取接口,发现怎么都抓取不到,后来有经验的同事给我推荐Charles,一用就爱上了它。
Charles官网主要功能解释如下:
1.SSL代理:以纯文本格式查看SSL请求和响应。
2.Bandwidth Throttling 模拟较慢的Internet链接,包括延迟。
3.AJAX调试以树或文本形式查看XML和JSON请求和响应。
4.AMF:以树形式查看Flash Remoting|Flex Remoting消息的内容。
5.重复请求测试,方便后端更改。
6.编辑测试不同输入的请求。
7.用于拦截和编辑请求或响应的断点。
8.使用W3C验证器验证记录的HTML、CSS和RSS响应。
开发人员和测试人员实际工作中常用到的功能:
1.PC端和手机端截取HTTP和HTTPS网络包。
2.支持网络重发请求,方便后端调试。
3.支持修改网络请求参数。
4.支持网络请求的截取并动态修改请求。
5.支持模拟慢速网络(弱网测试)。
总结:之前以为Charles只有开发人员才会用到,后来在跟几个测试朋友沟通了解后才发现Charles不是开发人员独有的,任何一个参与项目的人员都可以使用,尤其是软件测试工程师。作为测试人员,并不是单纯的bug记录者,更需要学会发现问题,分析问题,看到底该将bug反馈给前端开发人员还是后端开发人员,如果测试人员能给开发人员提出合理的建议,我想开发人员再也不会认为测试人员不懂技术,会让开发人员刮目相看。
二:Charles下载和安装
官网下载地址:
Charles是一款收费软件,可以提供30天的免费使用体验。试用期后,未付费的用户仍然每次可以使用30分钟,并且启动不会那么快,会有一定的延迟。charles不管是在Windows还是Mac平台上安装都很好安装的,就像安装一个qq软件一样,所以在这里不在赘述。如果长期依赖抓包,建议使用注册码破解。https://charles.wrbug.com/是可以在线生成授权码的。
菜单栏 Help->Register Charles 弹出注册的窗口,填入Registered Name和生成的license key,点击 Register 注册成功后,charles会自动关闭,手动再次打开即可。
三:Charles界面简介