测试中Charles常见用法

1,概述

目前项目测试都是APP,都是基于http请求,而很多的业务逻辑是在后端,因此在测试时帮开发准确定位到问题所在,

锁定是前端或者后端,因此可以在测试时候利用抓包工具协助,可以提高定位效率,并且可以发现很多潜在的性能问题。

 

2,Charles安装及破解方法

2.1Charles 安装

   Charles官网: https://www.charlesproxy.com/

2.2Charles 破解

 #问题:

 官网下载的Charles是试用版,每次打开后,只能连续运行30min后会自动断开链接,并且在中途会有10s倒计时的延迟;

 #破解方法:

  • 查看自己安装的Charles版本
  • 在线破解:
    地址:https://www.zzzmode.com/mytools/charles/
    生成charles.jar(10分钟内有效)
    选择自己安装版本,输入名称(随意输入),点击生成Charles.jar文件,并选择下载;
    image2018-6-27_19-31-3.png
  • MAC环境下替换:/Applications/Charles.app/Contents/Java/charles.jar
  • 重新打开就可以使用了;
     

3,Charles 工具介绍

Charles手机抓包连接方法:https://blog.csdn.net/tianshats/article/details/51026657

 ps:测试时候需要关掉VPN(我们测试加载Google地图需要开VPN,因此经常掉坑忘关,惊叹怎么Charles不好使了!!!)

        原因是VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问,流量就不会过前面配置的8888端口;

        例如L2TP端口会进行目的地址转换,且端口是500(1~1024保留端口之内),不过我不太清楚咱们装的VPN 用的是什么隧道协议

 

按照上述的方法安装和配置好Charles和手机后,开始之后的操作~~~

Charles介绍:

#工具栏和

#会话展示:

Structure和Sequence
Structure:按照不同hosts域名分组展示请求
Sequence:按照请求顺序来展示请求

 

#其他常见设置:

黑明单:黑明单中的域名不能联网

白名单:白名单开启后,只有白名单中的域名可以联网

export:导出会话Session保存到本地(在提JIRA的时候带上请求参数,方便复现问题)

compare:列表选择两个Session右击,对比两个请求的请求参数和响应参数;

 

4.测试中Charles的常用方法

4.1接口检测

#结合业务,监控是否有异常请求和冗余请求,可以在根源上解决

#可以协助开发准确定位,服务端或者客户端问题;

 

4.2网络请求/响应串改

场景:有些时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。

例如列表页面为空或者超长字段的情况,数据异常的情况,部分耗时的网络请求超时的情况等,如果在服务端直接吐数据,会比较麻烦,

所以可以用Charles来代替解决这些问题;

一次性修改:

breakpoint

可以简单的把客户端分为简单的两个部分,请求和响应,breakpoint就是在 请求/响应 的时候打打个断点,然后功过edit request/response,然后点击execute响应。

方法:在选择的请求上右击,选择breakpoint,然后重新请求,在breakpoint窗口就可以编辑请求或者响应数据;

          PS:在验证完成后,去掉breakpoint的修改,否则每次请求就会打断点;

 

永久性修改:

rewrite:

Rewrite 功能适合对某一类网络请求进行固定的替换;可以替换如下方右图中的这些块;

 

 

4.3过滤网络请求

方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://engine-qa.XXX.com, 那么只需要在 Filter 栏中填入 engine 即可。

 

方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。

这样就可以只截获目标网站的封包了。如下图所示:

4.4模拟弱网环境

场景:我们在通常情况下需要模拟在网络状态不好的情况下移动产品的表现,如性能,加载速度等性能因素。

在 Charles 的菜单上,选择 “Proxy”->”Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型

如图:

 

4.5给服务器做压测

 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力。选择需要打压的网络请求上(POST 或 GET 请求均可)右击,然后选择 「Repeat Advanced」菜单项

然后填写 并发线程数以及打压次数,点击OK 

 

 

发布了38 篇原创文章 · 获赞 7 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览