- 测试和开发过程中,有时候需要修改接口的返回状态,或是返回值。
- 在Charles中可以通过远程映射,将另一个接口的响应返回给原接口,从而达到修改接口响应的目的。
- 这个功能还能在正式线域名和测试线域名切换上。
文章目录
一、原理
- 在专栏之前的文章介绍过Charles抓包的原理
【抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)】
- 远程映射,就是Charles在捕获到客户端的接口请求后,根据配置的映射更改接口请求地址,获得响应后,再返回给原接口请求。
二、操作步骤
(1)、新增接口映射
1.单个接口
- 选择目标接口,右击,找到“Map Remote”
2.批量添加
- 或者是在“Tool”菜单下,找到“Map Remote”
- 打开远程映射设置后,勾选“Enable MapRemote”,点击“Add”,新增接口映射
(2)、设置匹配映射的接口
- 打开接口映射弹框后可以看到,上半部分是匹配映射的接口URL信息。
- Charles会根据协议、主机、端口、路径、查询参数,用以匹配特定URL。
- 这些设置支持通配符,例如:配置查询参数为“*”,则会匹配该路径下所有的查询参数。
(3)、指定映射的目标地址
- 与配置需要匹配的接口一样,下半部分设置映射的目标接口
- 同样可设置协议、主机、端口、路径、查询参数,
- 这些设置支持通配符。
- 弹框最下方的勾选框为,保留请求头中的原host(Preserve host in header fields),可根据需要设置。
(4)、示例步骤
- 以Charles官网的接口为例:通过远程映射,将其他网页返回给官网地址
- 配置远程映射
- 配置完成后,刷新页面。可以在Charles中看到请求了新的地址,在overview标签页下也标明了这个接口是由原接口远程映射而请求的。
- 查看页面可以看到,现在请求官网的地址,返回的是其他网站
三、注意:不用的时候记得关掉!
- 有的时候遇到数据与实际预期不符的情况,查了半天结果是接口映射忘记关了 [苦笑]
- 在“Tool”菜单下,找到“Map Remote”
- 取消勾选“Enable Map Remote”,并保存即可。
附录:接口功能测试系列教程目录
抓包工具Charles(一)-下载安装与设置
抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)
抓包工具Charles(三)-使用教程之界面介绍、基础功能(弱网、编辑、重发)
抓包工具Charles(四)-常用功能介绍(保存、导入导出、过滤、排序)
抓包工具Charles(五)-使用本地映射修改接口响应内容(Map local)
抓包工具Charles(六)-使用远程映射重定向接口请求(Map remote)
总目录-零基础入门接口功能测试教程
—————————————————————————————————
Charles的安装包已经上传到了本人运营的博客同名公众号【软件测试必备技能】。
公众也会不定期会上传测试相关资料,有需要可以前往领取。
有需要可点击文章下方二维码,前往领取~