写点什么

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

  • 2022 年 9 月 08 日
    北京
  • 本文字数:1117 字

    阅读完需:约 4 分钟

使用 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 还有其他实用并且有意思的功能,大家也可以一并查看并分享,共同进步。

更多学习资料单击下方

https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=infoQ&timestamp=1662451236&author=xueqi

用户头像

社区:ceshiren.com 2022.08.29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
使用charles 修改服务器返回数据_软件测试_测吧(北京)科技有限公司_InfoQ写作社区