使用Charles 修改服务器返回数据

发表于:2022-6-02 09:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:子期    来源:知乎

分享:
  使用charles
  修改服务器返回数据
  相信大家在做测试时,一定有现有的返回结果不能覆盖到自己需要测试的全部场景的情况,为了方便我们测试一些特殊情况,我们就需要让服务器返回一些指定的内容以实现我们的测试case覆盖的更全面。这个时候,使用 Charles 相关的功能就可以满足我们的需求。下面给大家介绍一下使用charles来修改服务器返回报文的两种方法:
  1、 Map功能,适合长期的将某一请求重定向到另一个网络地址或者本地文件。
  2、 Breakpoints功能,适合做一些临时性的修改。
  Map功能
  Charles的map功能分为Map Remote 和Map Local,下面简单介绍一下:
  在 Charles 的菜单中,选择 “Tools”->”Map Remote” 或 “Map Local” 即可进入到相应功能的设置页面。
  或者直接选中请求,右键,也可进入到相应功能的设置页面。
  对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以留空,下图是一个示例,我将所有www.test1.com的请求重定向到了www.test2.com。
  对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。首先将网络请求结果保存,使用 Charles 提供的 “Save Response…” 功能将请求结果保存到本地(如下图所示),然后根据测试需要,修改我们想要返回的数据,成为我们的目标映射文件。
  示例如下:
  将一个指定的网络请求通过 Map Local 功能映射到了本地的一个经过修改的文件中。
  Breakpoint功能
  Breakpoint功能可以截断修改客户端的request、response请求,如在charles返回response请求时,我们可以修改response,从而修改返回给客户端的内容。
  如这里,我们要修改返回给客户端的广告类型为H5类型的广告。
  1、 客户端先访问相应的页面,可以看到charles抓取了一大堆数据,Filter下过滤我们需要的请求。
  2、 在上面的请求中选择右键,勾选Breakpoints。后面再次访问此请求时,charles会分别在这个请求的request、response停留,除非我们excute继续。
  设置Breakpoint,也可以通过点击Proxy—>Breakpoint Settings来设置。
  点击add选择request或者response,或者同时选择。
  3、 再次访问互动页面,可以修改request请求,在此不做修改,点击Execute
  修改response,点击Edit Response,根据需求修改为相应的返回值。点击Execute。
  最终返回的广告为H5类型的广告。
  使用charles修改返回数据就介绍完了,当然使用charles修改返回数据不止上面两种方式,以上两种方式只是本人在近期项目中使用到的,网上还有其他方式,感兴趣的同学可以网上查看,charles还有其他实用并且有意思的功能,大家也可以一并查看并分享,共同进步。

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
价值398元的测试课程免费赠送,填问卷领取吧!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号