软件测试-charles

215 阅读3分钟

测试简单的charles使用

charles

Charles不仅可以帮助我们抓取服务器返回的数据,还可以修改请求参数,修改响应体,基本上HTTP能修改的东西,基本都能用Charles进行mock

一、charles的下载

本地用的是charles4.5的版本,地址百度

二、charles的使用

1、Charles上的设置

设置为8888

image.png

2、公司内网代理设置

!涉及公司内网,此部分忽略,每个公司都不一样

3、手机代理,设置ip地址和端口

我这里手机上的代理手动地址为proxy.test.net

端口为公司内网四层代理上生成的代理端口16986

(手机点开wifi设置代理即可,内容参照上述描述)

image.png

三、charles抓包https

经过上面的设置之后,我们就可以对手机的网络请求进行抓包了,但是如果请求的是 HTTPS,抓到的包无法查看,需要电脑和手机安装证书 (Help -> SSL Proxying)

红色框内第一个选项为为电脑安装证书

第二个框为为手机安装证书

image.png

以ios14.0为例子

手机自己下载证书,前提是已经连接wifi,进入浏览器,地址为chls.pro/ssl

手机上:

设置-通用-描述文件与设备管理,点击整数进行新任

设置-通信-关于本机-证书信任设置,勾选针对整数启用完全信任

四、breakpoint断点功能

可以使用Charles在某个网络请求的时候进行断点, 这样可以精确的定位某个网络请求

image.png

手动添加需要断点的URL,如果这个URL已经请求过,可以对该请求单击右键,然后点击 Breakpoints,通过断点功能,可以修改 Request 参数 和 Response 返回值。需要注意的是修改完 Request 参数需要点击 Excute 按钮,请求成功后,才能修改 Response 返回值

image.png

image.png

五、Compose功能修改Request

还可以通过 Charles 修改请求的 URL、Method、Header、Parameter等.

修改方式:对请求单击右键,然后点击 compose 按钮

image.png

六、 Rewrite重写功能

Rewrite重写功能是全局设置的,并不是对某个请求单击右键的方式临时操作下, Rewrite可以:

修改请求头(Add/Modify/Remove Header)
修改Host/Path/URL
修改请求参数(Add/Modify/Remove Query-Parameter)
修改响应状态(Response Status)
修改Body

Rewrite设置路径: Tools -> Rewrite

image.png Rewrite重写顾名思义就是替换,所以是基于某个固定的值替换成某个值,添加规则的时候,支持正则表达式:

image.png

七、MapLocal

选中对应的接口,右键点击MapLocal,弹出弹窗,具体的Path和Query为所选中的接口地址

选择文件,文件为json格式的返回值map

image.png

重新刷新接口,即可每次都是返回这个页面进行测试

八、弱网测试

可以在 Proxy -> Throttle Settings 设置网络速度,还可以自定义带宽(Bandwidth)

image.png