Charles系列三:Charles打断点(包含修改请求,修改返回的内容),模拟慢速网络(弱网测试),域名映射,过滤请求,接口调试,打压测试
一:Charles断点的使用(包含修改请求,修改返回的数据)
设置断点来修改请求和返回的数据,在开发过程中可以模拟多种响应。步骤如下:
1.添加断点方法有两种:
方法1:找到Charles中菜单项Proxy里面的Breakpoint Settings选项,在弹出的框中勾选Enable Breakpoints,选择Add添加按钮,添加想要断点测试的网址等信息
方法2:在抓取的网址中,找到Proxy菜单项中的Enable Breakpoints选项(或者直接找六边形的按钮红色就是打开),然后选中抓取的网址,右键,在弹出的选项中选中Breakpoints,你会发现你要打断点的网址已经出现了在Breakpoint Settings中,默认已经勾选。最后不要忘记将打断点的网址去掉,不然以后忘记了,可能就比较麻烦了。
2.在浏览器中输入你要测试的网址,查看Charles的反应,如果成功,会看到相应的提示,在面板右半部分下方选择Execute按钮继续,之后又弹出,出现相关的信息接着选择Execute按钮继续,如果不继续,那个网页就一直卡在哪里不动。上面的gif已经有所展示。
3.Charles给所要测试的网页打断点后,可以修改请求(在右边的框内可以看到Edit Request)和修改返回的内容(Edit Response),好处是可以测试异常情况。具体实战请看下图:
修改请求:我在次过程中修改了页面链接,测试的过程中替换成了别的页面,当然也可以修改好多请求内容,等测试结束,原页面恢复正常。
修改返回的内容,在此过程中,我修改的是页面的内容,Excute通过后,页面发生变化,同样也可以修改好多返回的内容,测试完成后,原页面恢复原状。
二:Charles模拟慢速网络(有些人也称弱网测试),Chrome模拟慢速网络
我们在移动开发过程中会常用到模拟慢速网络或者高延迟的网络 ,来看应用的变现是否正常,这给我们开发和测试人员带来的极大的便利,因为我们不可能说拿着一个手机转着3G卡或者4G卡取到信号差的地方去,也不现实。
Charles模拟慢速网络方法步骤:
1.同时打开浏览器和Charles代理工具,在浏览器中输入你想测试的网址,查看反应时间,记录下来,浏览器(按下F12找到)或者Charles中选择Tools->No Caching要设置成不要缓存。
2.点击小乌龟按钮变成绿色(不能选择模拟的网速大小,也不能选择想要模拟的网址)或者选择Proxy->Throttle Settings,选好你要测试的网速和添加好想要测试的网址,刷新网页,查看所花费的时间,进行对比和分析。
Chrome模拟慢速网络步骤:
1.打开谷歌浏览器,输入要测试的网址,按下F12,去除缓存,刷新网页,查看所耗费的时间
2.在弹出的调试面板内找到No throttling选项,默认是没有开启的,可以选择Fast 3G或者Slow3G等,也可以自己添加设置网络速度,但是如果你设置的网速很快,本身自己电脑的网速达不到那个要求,是没有用的,之后刷新网页,查看消耗的时间
三:Charles域名映射
引用:https://www.jianshu.com/p/95560a42f893
1.Charles将网络资源映射本地文件(Charles映射本地资源)
起因:在生产实践中,我们会发现,(生产)服务器环境不容易在本地完全模拟,尤其是项目已经上线的情况下,出现bug更是难以在本地复现,往往只能在本地改文件,然后把本地的文件传到服务器再测试,浪费时间不说,已经上线的项目不可能允许你随时上传文件测试。所以,有一个迫切的需求就是将网络资源映射为本地文件,方便调试,等调试好了再将文件上传到生产服务器。
步骤:
1.先用浏览器打开你要测试的网址,打开charles截取,在charles选中你要测试的内容之后保存,格式有html、css、json等,不知道你要修改的是什么格式的文件,可以查看Overview中的Content-Type选项。
2.找到Tools->Map Local,添加要测试的网址,可以直接复制网址,添加的时候自动解析,然后再Choose,添加上保存的文件等,对于Query选项,你复制的网址有就有,反正自动解析,可以不用太纠结。
3.重新刷新页面可以看到页面发生了变化,最后不要忘记将映射的本地资源选项删除掉,否则下次再打开这个网页,还是映射的本地文件。
2.Charles将网络资源映射为其它服务器资源(Charles域名映射)
起因:对于生产服务器上的文件,我们映射到本地文件上是OK的,但是,有时候是生产服务器(放线上项目的服务器)上的接口出了问题,我们这时候不可能直接在生产服务器上调试,只能是映射到开发服务器(有些公司开发和测试同一个服务器,类似我们用自己电脑配置的本地环境)上做调试。 这时候你可能会说,那就直接完全在开发服务器上调试不就行了?做生产服务器到开发服务器的映射有必要吗? 因为生产服务器的环境比较复杂,比开发服务器的环境要复杂得多,比如生产服务器上有一系列的生产数据库数据,开发服务器上只是测试数据。可能故障就出现在生产数据库的数据里,但是你暂时挑不出是哪个数据出的bug。 Charles也可能解决这些问题。
步骤:
1.打开浏览器和Charles,在浏览器中输入你要测试的网址,在Charles中找到Tools->Map Remote
2.弹出的窗口内填写你要原有的网址和到谁的网址,保存好后刷新页面,有些刷新后会提示你请求错误,或者重定向过多等,大的网站会拒绝你的请求。
3.测试结束后,不要忘记取消域名映射,对于弹出框中最下面勾选的项:Preserve host in header filelds,是为了保证Header头部信息不会变,最好都勾上。
四:Charles过滤请求
通常情况下,需要对网络请求进行过滤,只监控指定服务器的请求。
方法一:在主界面的底部右侧的 Filter 栏中填入需要过滤出来的关键字。例如我要测试地址是:https://www.cnblogs.com/ttxcs/, 那么只需要在 Filter 栏中填入cnblogs即可。通常情况下,我们使用该做一些临时性的封包过滤。
方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。选择Exclude栏,是排除要截取的网站的封包。最后不要忘记都去除掉,防止忘记打不开想要截取的网络封包。使用该方法做一些经常性的封包过滤。
方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项。
额外补充:黑白名单功能(由于测试这两个功能每个系统和Charles版本所得结果都不太相同,网上讲解该功能的资料又不是很多,暂时先不写,以后再补充)
五:Charles接口调试
这个跟抓取接口,修改接口是一个性质的,在这我介绍一个Compose功能,就是修改接口的那种。选中你要测试的网址,右击,选择Compose选项,或者直接点击笔形状的按钮。
六:Charles进行打压测试(负载测试,这个跟jemter相比,jemter效果比Charles效果好点)
1.在想打压的网络请求上(Post 或 Get 请求均可)右击,选择 “Repeat Advanced”。
2.接着在弹出的对话框中,选择打压的并发线程数以及打压次数(迭代次数也就是循环次数的意思),确定之后,即可开始打压。这种不需要刷新页面,请求是在Charles内部内部完成的,因此不能在浏览器或者其它客户端查看响应。
Charles系列三:Charles打断点(包含修改请求,修改返回的内容),模拟慢速网络(弱网测试),域名映射,过滤请求,接口调试,打压测试的更多相关文章
- charles重发网络请求&模拟慢速网络&过滤网络请求
重发网络请求&模拟慢速网络&过滤网络请求 重发网络请求:后端调试的过程中,一直在客户端进行点点点比较麻烦,此时直接发送请求比较方便查看调试后的结果 模拟慢速网络:用户的网络不能一直是快 ...
- Nginx学习系列三Nginx的启动、停止、修改配置文件后重启
1.启动Nginx 命令规则:Ngxin的安装地址 -c Nginx的安装地址下的配置文件地址 注意:一般都在root权限下进行Nginx的启动 2.停止Nginx (1).从容停止 第一步:查看Ng ...
- 使用charles模拟慢速网络
1.设置慢速网络 点击导航栏的proxy---throttle setting来设置想要的网络情况, 其中有两种方法: (1)勾选Enable Throttling,在Throttle presett ...
- Charles系列一:Charles功能介绍、下载安装和界面简介
一:Charles主要功能介绍 Charles是一个HTTP代理/HTTP监视器/反向代理,使开发和测试人员能够查看机器和Internet之间所有的HTTP和SSL/HTTPS流量,这包括请求,响应. ...
- charles 设置弱网测试
Charles简介:Charles支持抓去http.https协议的请求,不支持socket. 然后charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了. 这里打开 ...
- charles抓包https/模拟弱网/设置断点重定向/压测
charles几个常用功能 1,ios 抓包https网页:(如未配置,会显示unknown) 第一步是:给手机安装SSL证书 手机和电脑在同一wifi下,手机wifi配置http代理,ip是电脑 ...
- charles技能之修改请求参数/返回数据(map Local、Rewrite、Breakpoints)
之前一直用postman调接口比较多,但有时候想要去修改APP的页面展示,造数据又会比较麻烦,此时可以用以下三种方法修改请求参数或修改响应: map Local(本地映射).Breakpoints(打 ...
- charles抓包,打断点,连接手机抓包
写给我自己: 如果是使用charles抓包.一定要tm的保证手机和电脑连的是一个网. charles抓本地包的操作 1.打开charles, 2.打开浏览器访问某网页,就可抓到对应的包 charles ...
- charles 模拟手机弱网、修改请求参数、修改返回值
1.charles模拟弱网(断网) 2.charles修改请求参数 (1)先访问一次需要改的请求,在charles上找到相应的请求地址 (2)然后在需要打断点的请求上右键,勾选[Breakpoints ...
随机推荐
- 02_已解决 [salt.minion :1758][ERROR ][52886] Returner mysql.returner could not be loaded: 'mysql' __virtual__ returned False: Could not import mysql returner; mysql python client is not installed.
总结:python2.7下的salt,要把 mysql-python也安装,并不是python3环境,看清,看清 Returners组件,master自动把值写入mysql数据库中,出现的问题 1.本 ...
- JavaScript中BOM的重要内容总结
一.BOM介绍 BOM(Browser Object Model),浏览器对象模型: 用来操作浏览器部分功能的API: BOM由一系列的对象构成,由于主要用于管理窗口和窗口之间的通讯,所以核心对象是w ...
- Are Lights Still On?
不知不觉成为一名OIer已经接近一年了,但真正开始认真对待还是这个暑假,从当初的信心百倍,踌躇满志,到现在陷入了迷茫. 我不知道自己是否真的热爱OI这项事业,可我不愿放弃:我也不知道自己还有没有继续学 ...
- Python动态展示遗传算法求解TSP旅行商问题(转载)
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/jiang425776024/articl ...
- 学PHP应注意的问题与知识点
编出一手好代码,这个是需要你在平时开发中日积月累的,平时如果你有注意到以下的那些代码的编码,那么祝贺你,你在技能提升这方面已经垫下了一些基础,编写出一手好代码,说白了就是你特么注意到性能这块的问题,代 ...
- P1944 最长括号匹配_NOI导刊2009提高(1)
P1944 最长括号匹配_NOI导刊2009提高 题解 宁愿相信世上有鬼,也不能随便相信某谷题目标签 我想了半天然后看了眼题解,发现用栈来模拟就好了 栈来模拟,还要用到一个bool数组,标记是否已经匹 ...
- 如何丧心病狂的使用python爬虫读小说
写在前边 其实一直想入门python很久了,慕课网啊,菜鸟教程啊python的基础的知识被我翻了很多遍了,但是一直没有什么实践.刚好,这两天被别人一直安利一本小说<我可能修的是假仙>,还在 ...
- Kotlin中反射
枚举类成员 import kotlin.reflect.full.memberFunctions import kotlin.reflect.full.memberProperties fun mai ...
- strace调试跟踪程序运行状态
查看进程调用和执行状态 : strace -f -F -o debug.log -p PID(某个进程ID) 参考资料: http://www.itshouce.com.cn/linu ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_07-freemarker基础-if指令
<td <#if stu.name=="小明">style="background-color:cornflowerblue"</#if ...