Charles分享
Posted tianpin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles分享相关的知识,希望对你有一定的参考价值。
Charles
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles的功能很强大,这里只介绍几个常用的并且非常实用的功能。
1.查看IP地址
Charles有个很好用的查看ip地址的方法,不用每次都cmd -ipconfig去查看,点击Charles顶部菜单栏Help→Local Address,即可看到本机ip地址。
2.过滤网络请求
- Filter
在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如想过滤多点的请求, 那么只需要在左侧下方的 Filter 栏中填入dmall 即可,如下图所示:
- Focus
在想过滤的网络请求上,右键选择 “Focus”,可以快速地过滤出一些没有通过关键字的一类网络请求,过滤后,网络请求不再杂乱看的眼花缭乱,Other Hosts以上为过滤的请求,如下图所示:
3.修改请求
- Breakpoints
- (1)在Charles请求的列表里找到要设置断点的那个请求,鼠标右键菜单选择“breakpoint”。
- (2)打开断点功能后,即点亮下面这个图标
- (3)再次发起请求,此时页面跳转到edite页面。
- Compose
- Compose功能是在原有的请求基础上进行修改。
- 业务场景:假如我们提交报名,校验证件号不能重复,可用此功能修改证件号,快速进行报名,不需要在app上再依次填写各报名字段。 多点App,那我们可以用此功能进行接口测试。
(1)找到需要修改参数的链接,右键选择Compose
(2)修改参数页面,如下图所示:
(3)不同参数,可有不同的返回。
4.修改返回内容
背景:测试过程中,有时候需要大量的数据来对某一个功能进行测试,没有接触到这个功能时,那些数据通过系统一步步来创建,比较繁琐和麻烦,掌握了此功能可在工作中事半功倍哦~~~
修改服务端返回的数据有很多种方法,如:断点(Breakpoints)、重写(Rewrite)、和Map Local。
比如:我们想看看金额超级大的时候,金额是否能够全部显示,是否按钮需求来展示呢,我们现在将现有余额改成超级大,试试看展示效果哈~~~
- Breakpoints
1)对要打断点的接口右键,然后选择【BreakPoints】(点击一次就行了,点击多次会移除) ,如果是已经好了的,显示是一个“√”的状态。
2)点击Charles菜单-【Proxy】-【Breakpoint...】,此时会弹出【BreakpointsSettings】对话框,如下图:
3)双击【Location】内的接口地址,此时会弹出【Edit Breakpoint】对话框,在【Query】项输入:*,如果只需要修改返回的参数,就只勾选【Response】
(备注 query 写成* 意思 是不管参数是啥,都会进行断点,这里不能填成跟实际的一样,因为有些实际的参数有时间戳类似的 ,时间过了就会变,所以不建议那样写死。
4)保存上图后,刷新手机界面,即可出现如下图断点界面,因为要修改的是返回值,so 点击 Edit Response 进行修改,(可提前保存数据到本地,然后整体复制进来,否则很容易出现超时)再点击Excute 即可。
5)再次发起请求,app前端即可看到新的修改数值。
- Rewrite
- 1)首选确定要修改的接口,右键选中点击“Copy URL” http://testappapi.dmall.com/app/mypage/home
- 2)点击菜单的 Tools→Rewrite Setting,如下图:
- 3)在弹出的 Rewrite Setting,设置各项值,如下图所示:
- 图A
- 4)在上图A中,点击右侧上面一个Add按钮,在弹出的窗口中,在host文本框中,粘贴上第一步我们复制的URL,然后鼠标焦点定位到Path,会自动将URL中的内容分解到各个文本框中。
5)在上图A中,点击右侧下面一个Add按钮,在弹出的窗口中填写要替换的值的信息,如下图所示:
6)最后可以看到整体修改的内容,以及修改接口名字,下图所示:
7)再次发起请求,即可看到前端的变化。
- Map Local
1)选择某一个请求,http://testappapi.dmall.com/app/mypage/home 右键选择Sava response…,将返回值保存起来(文件以json结尾就行),如下图所示:
- 2)将保存的文件,通过文本编辑器打开,修改内容后保存。通过map local功能上传我们保存的文件,如下图所示:
3)再次请求,即可看到app端的值显示成我们修改后的值。
4)取消本地映射
菜单Toos→选择Map Loacal,弹出Map Local Settings弹窗,取消勾选即可,如下图所示:
5.模拟弱网
Charles模拟弱网设置如下步骤:
(1)菜单Proxy→Throttle Settings,进入设置界面
(2)设置界面下图,勾选Enable Throttling,在Throttling preset中可以选择工具默认配置的一些网络状况。
以上是关于Charles分享的主要内容,如果未能解决你的问题,请参考以下文章