一篇文章彻底教会charles修改数据(Map Remote 、Map Local 、Rewrite、compose功能详解)

一、引言

解决测试人员修改抓包拦截串改返回值

二、Map Remote 、Map Local 、Rewrite、Compose功能详解

1、什么事Charles的Map功能

Charles的Map功能可以将某个请求进行重定向,用重定向的内容响应请求的内容。重定向的方式可以分为两种:Map Local和Map Remote。

Map Local:将某个网络请求重定向到本地某个文件

Map Remote:将某个网络请求重定向到另一个网络请求

2、Map Remote 、 Maplocal 使用场景

2.1、Map Remote

例如测试环境是下图上面原来的域名,线上是需要重定向下面的域名

树状图,选中想要映射的地址

注意点:如果是原生app内嵌h5页面的,必须h5域名在后端的域名上方!!!

2.2、Map Local

例如:一个项目上线后,发现js、css或者返回参数bug

1、这个时候可以保存抓取的响应值或者css样式到本地的notepad++z中保存

然后再notepad++修改响应值的内容,选择Map Local 然后选择Local Path(本地的文件路径)再次刷新页面就会发现修改的值展示在页面

2、如果是图片

选择local_path直接选择本地文件的中的图片,前端刷新一下就可以展示在前端页面

2.3、Rewrite

Rewrite 功能适合对某一类网络请求进行一些正则替换,已达到修改结果的效果

rewrite功能重写对应的内容,主要可以对某些匹配请求的header、host、url、path、query、param、reponse_status、body进行Rewrite

step1:

Tools -->rewrite 

step2:

勾选:Enable Rewrite

step3

点击add

这样就可以做到,匹配test.com域名下所有请求,都重写到test1.com下请求

这个功能通常用在正式环境重写到测试到环境

2.4、compose

可以选择修改请求头、url、请求体,之后点击excute执行就可以,做到请求内容变更

三、总结

在合适的场景选取合适的方式,才能快速模拟、测试

### Charles Mock 工具介绍 Charles 是一款强大的 HTTP 调试代理软件,广泛应用于 Web 和移动应用开发中。它不仅能够截取和分析 HTTP/HTTPS 请求,还提供了多种方式来模拟(Mock)服务器响应,从而提高前端交互测试的效率,减少对外部系统的依赖[^1]。 #### 主要特性 - **断点设置 (Breakpoints Setting)**:允许开发者暂停特定请求,在继续之前手动修改请求或响应内容。 - **本地映射 (Map Local)**:可以将指定 URL 的请求重定向至本地文件,常用于返回预定义的 JSON 数据作为 API 响应。 - **远程映射 (Map Remote)**:当无法直接访问目标服务时,可以通过此功能指向另一个可用的服务地址获取数据。 - **改写规则 (Rewrite Settings)**:自动替换符合条件的请求参数或响应体内的字符串模式。 - **组合与重复 (Compose and Repeat)**:支持构建复杂的多部分表单提交,并能多次发送相同的请求以便于性能测试。 - **带宽限制 (Throttle Settings)**:模拟不同网络条件下的加载速度影响用户体验的情况。 ### 使用方法详解 为了开始使用 Charles 来创建 Mock 数据,需完成如下准备工作: 1. 下载并安装 Charles 应用程序,随后按照提示完成注册流程[^2]; 2. 设置好设备间的代理连接,确保所有流量都能经过 Charles 捕捉处理; 接下来具体描述如何通过 `Map Local` 功能实现简单的 Mock 数据操作: 1. 当检测到想要拦截的目标接口后,可以在右侧窗口找到对应的 GET 或 POST 方法记录; 2. 右键点击该条目选择 "Save Response..." 并将其存储为 `.json` 文件格式; 3. 编辑上述导出的静态资源文档,调整其中的内容以匹配预期的结果集; 4. 返回 Charles 界面,依次进入菜单栏中的 Tools -> Map Local... ,激活此项开关; 5. 添加新的映射项,输入完整的 URI 地址以及刚刚编辑过的 JSON 文档路径; 6. 测试效果,确认客户端应用程序现在接收到了自定义版本的信息流。 最后提醒使用者,在结束调试环节之后应当及时禁用相应的选项以免干扰正常的业务逻辑运作[^3]。 ```bash # 如果需要执行命令行脚本启动 charles 自动化配置环境变量等操作 export CHARLES_PROXY_PORT=8888 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发漫漫成长路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值