Charles 用法

Charles 用法,第1张

一、Map Local: 将指定的网络请求重定向到本地文件。

1、选中接口,右键选择 Save Response ,然后 保存为 json 格式 。

2、将json编辑为我们期望的数据,然后选中接口,右键选择 Map Local 。

3、编辑map的本地路径。

4、如果想取消本地映射,可以在偏好里选择是取消所有的map local,还是指定接口的。

5、在接口未开发的情况下,我们仍然可以创建一个json文件,然后执行步骤三,去模拟接口请求。

6、目前,我测试的 Query 参数,只对 GET 请求有效,特此说明。Query参数可以限制只对传递指定参数的请求做本地映射处理。

二、Map Remote: 更换远程接口地址,使用场景一般是,在不重新运行程序的情况下,将测试环境地址手动更改为生产环境等。

1、选中接口地址,右键“Map Remote”

2、编辑想要替换的地址,保存即可。

3、同样,如果想取消远程映射,可以在偏好里选择是取消所有的map remote,还是指定接口的。

三、修改网络请求: 在与后台进行联调的时候,可能需要给后台传递不同的参数,但调试的入口又比较深,这时候Charles的“编辑请求”的功能就可以大显身手了。比如说,模拟登录,踢掉用户等等。

1、选中接口,然后选中钢笔(Compose)

2、可以任意编辑请求头、请求参数,然后可以选择 执行 恢复更改 取消

四、模拟网速: App测试时一般都是用的公司的网络,速度还可以,如果想模拟网络环境非常差的情况下,会出现什么情况, Charles 也提供了对应的支持,来模拟低速网络环境。

1、进入Throttle设置

2、选择需要模拟的网络环境

3、可以通过点击面板上的小乌龟,来快捷的开关 模拟网速 。

五、断点调试

1、对要调试的接口打断点,并开启断点调试,如下图所示。

2、当请求调试的接口时,Charles会先跳到 编辑请求 ,点击执行后,会跳到响应的编辑页面。我们在这里,可以对返回的结果进行编辑。

需要特别注意的是: 如果timeoutInterval设置的时间过短,可能会造成在没有编辑完就超时的情况,建议如果编辑需要时间过长,我们就把timeoutInterval设置的足够长些。

六、连续多次请求

七、专注模式

像下图一样,把我们不关心的请求归到另一个文件夹里。

*** 作方法:

八、Find in: 在ULR、Header、RequestBody、ResponseHeader或ResponseBody里搜索字符串,正如你看到的,还支持正则表达式的搜索。

原理简析

当然,如果 用户不选择信任安装Charles的CA证书 ,Charles也无法获取请求内容。还有一种,如果 客户端内置了本身的CA证书 ,这时如果Charles把自己的证书发送给客户端,客户端会发现与程序内的证书不一致,不予通过,此时Charles也是无法获取信息的。

本地开发项目的时候,我们可以通过谷歌浏览器的debug模式来看request以及response的数据,但是如果我们开发移动端真机项目呢?或者真机线上出现问题如何抓取数据查看接口入参和出参呢?这就需要用到“抓包”

抓包就是通过工具抓取应用的接口数据然后通过分析数据得出问题结论的一种常用的工作方法。下面简述一下在iOS上面安装Charles并且实现抓包的过程,抓取范围包括web/APP内嵌web/小程序原生/小程序内嵌web等

1获取PC的IP地址和端口

在Charles菜单栏 -> Help -> Local IP Address中可以查看PC的IP地址。

一般Charles端口是默认的8888,可以从Charles菜单栏 -> Proxy -> Proxy Settings查看

2配置iPhone代理

设置 -> 无线局域网 -> 局域网信息(i) -> 配置代理 -> 手动

在配置iPhone代理完毕后,就可以通过Structure或者Sequence窗口预览>

以上就是关于Charles 用法全部的内容,包括:Charles 用法、Charles ios抓包、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10105275.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存