- 改变接口的返回数据 是排查问题,或是调试功能的一个非常实用的方法。
- 通过修改接口数据,可以大大加快开发和测试的速度。其他抓包工具也有类似的功能。
- 在Charles中则是利用本地映射(Map local)来达到修改接口返回数据的目的。
文章目录
一、原理
- 在专栏之前的文章介绍过Charles抓包的原理
【抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)】
- 本地映射,就是Charles在捕获到客户端的接口请求后,将本地文件的内容返回给客户端,就像正常的服务端响应一样。
- 客户端也将收到经过修改的响应内容。
二、操作步骤
(1)、 新增接口映射
1.单个接口
- 选择目标接口,右击,找到“Map local”
2.批量添加
- 或者是在“Tool”菜单下,找到“Map local”
- 打开本地映射设置后,勾选“Enable Map Local”,点击“Add”,新增接口映射
(2)、设置匹配映射的接口
- 打开接口映射弹框后可以看到,上半部分是匹配映射的接口URL信息。
- Charles会根据协议、主机、端口、路径、查询参数,用以匹配特定URL。
- 这些设置支持通配符,例如:配置查询参数为“*”,则会匹配该路径下所有的查询参数。
(3)、本地文件设置
- 设置完匹配映射的接口,接下来设置映射的本地文件
- 可以本地新建一个文件,作为接口响应返回。
- 也可以直接将待映射的接口的响应保存下来,并设置为本地映射文件。
(注意,这样直接保存的文件是没有文件后缀的。保存下来之后最后按照原接口响应的数据类型,修改文件后缀。)
- 设置为本地映射文件
(注意:如果在本地找不到所请求的文件,则该请求将正常返回服务端接口数据。)
(4)、示例步骤
- 以Charles官网的接口为例:通过本地映射,来修改下图中的红框内的文案
- 首先,先将接口返回结果保存下来。
(注意:直接保存)
- 打开文件,找到要修改的文案
- 修改文案内容
- 设置本地映射。
(注意,因为原接口响应为html格式,所以这里将本地文件的后缀改为.html)
- 设置完成后,再次请求网站接口。可以在接口响应的header里看到,接口响应已经映射到对应的本地文件。
- 查看网站,也可以看到刚刚的文案已经被修改了。
三、注意:不用的时候记得关掉!
- 有的时候遇到数据与实际预期不符的情况,查了半天结果是接口映射忘记关了 [苦笑]
- 可以在“Tool”菜单下,找到“Map local”
- 取消勾选“Enable Map Local”,并保存即可。
附录:接口功能测试系列教程目录
抓包工具Charles(一)-下载安装与设置
抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)
抓包工具Charles(三)-使用教程之界面介绍、基础功能(弱网、编辑、重发)
抓包工具Charles(四)-常用功能介绍(保存、导入导出、过滤、排序)
抓包工具Charles(五)-使用本地映射修改接口响应内容(Map local)
抓包工具Charles(六)-使用远程映射重定向接口请求(Map remote)
总目录-零基础入门接口功能测试教程
—————————————————————————————————
Charles的安装包已经上传到了本人运营的博客同名公众号【软件测试必备技能】。
公众也会不定期会上传测试相关资料,有需要可以前往领取。
有需要可点击文章下方二维码,前往领取~