Charles 修改接口返回数据

前言
   测试中,我们经常会遇到一些边界值数据很难造出来,首先能想到的是能否可以模拟这些场景,以覆盖case,这时经常需要修改接口请求或者返回数据。在我之前的文章有介绍如何通过打断点的方式进行修改,但这会有个问题,即如果客户端一方长时间得不到响应(手工修改响应数据包时,造成客户端超时未收到服务器回答),有些网站就会重新发送新的数据连接。为避免这一情况发生,可以使用Charles其他修改小工具。Charles还提供了 Map Remote、Map Local、及Rewrite功能,都可以达到修改服务器返回内容的目的,三种的区别分别是:
  1.Map Remote是将指定的网络请求重定向到另一个网址上
  2.Map Local是将指定的网络请求重定向本地文件上
  3.Rewrite是对网络请求进行一下正则替换

1.Map Remote

   选择指定接口链接,右键选择 Map Remote
在这里插入图片描述
进入Map Remote Setting页面,在Map To中设置好要重定向的地址即可,如下图
在这里插入图片描述
设置之后,重新请求该接口,我们会发现返回的response已经是重定向的数据了;

2.Map Local

   选择指定接口链接,右键选择Save Response,将返回的数据保存到本地;然后修改保存的本地数据,再在刚指定的链接上,右键选择Map Local…,进入Map Local Setting页面,直接上传修改后的本地文件即可,如下图: 
在这里插入图片描述
重新访问接口,会发现接口返回数据已经发生变化,返回的是自己刚修改的本地数据值;

3.Rewrite

   如果可以直接对某个值进行正则验证,菜单选择【Tools】→【Rewrite】,在打开的对话框中勾选【Enable Rewrite】复选框,在左侧栏点击【Add】,如
在这里插入图片描述
在这里插入图片描述
点击该设置对话框右上方的编辑框的【Add】按钮,添加将要篡改的URL,同样点击右下方的【Add】按钮,选择篡改HTTP的哪个部分、输入匹配的值和替换的值。如
在这里插入图片描述
对接口返回的json格式内容的一个key-value对进行了替换。对于value为空的字段,我们要写作null,如"name":null。这样当接口数据返回时,如果匹配指定字符,则会进行替换。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值