使用Charles进行mock的几种方式
1、Map Remote
使用Charles 的Map Remote功能,拦截网络请求,并将网络请求重定向到mock平台的请求,更换远程接口地址,使用场景一般是在不重新运行程序的情况下,将测试环境地址手动更改为生产环境等。
Map Remote功能适用范围:可以单个接口做重定向也可以多个接口或对整个网页做重定向
【Map Remote 重定向】
其实我们目前抓包就需要使用到这个功能,如:h5接口在抓包时,单传抓包是无法抓到的,需要在抓到包时新增一个参数,及在原来的地址的基础上,重定向至新增参数的地址,这样才能抓包对应的包
charles配置路径Tool - Map Remote Settings,设置原地址,以及需要变更后的地址。
2、Map Local
使用Charles的Map Local功能,拦截网络请求,并将本地json文件作为response进行返回。
Map Local的使用场景,适用于要验证接口返回数据的各种场景。正常流程是配置系统配置数据,或者产品配置配置产品。Map Local可以轻易改变请求接口的返回数据。
Map Local功能适用范围:只适用于单个接口返回数据
【分析】
其实这种时候只需要验证客户端展示,那这个时候完全可以模拟接口返回参数,直接看客户端展示即可,无需各种复杂配置
【操作步骤】
1)先保存响应结果:接口右键,点击save response,保存文件至本地
2)配置接口映射:tools -- map local – 点击add
3)的上半部分填写接口域名、路径;下半部分填写需要映射的响应结果,choose本地刚刚保存的文件

4)点击ok保存设置,并启用map,注意:两个区域都一定要启用哦

5)此时只需要修改本地响应文件的spuSaleCount,就可以达到对应的效果
6)查看app端商详销量展示
3、Breakpoints
当我们只是想临时修改一次网络请求结果,可以使用断点breakpoints功能,断点功能可以修改请求数据,也可以修改响应数据。使用断点修改请求的弊端是,如果开发设置了请求超时时间,那么修改的速度慢了往往即使返回了也没有效果,所以实际测试中使用此方法的场景并不多。
Breakpoints功能适用范围:修改之后,只要程序重新运行数据重置,只能单次使用,可以修改请求内容和响应内容
【操作步骤】
1) 选中要断点的接口,点击右键,选中breakpoint
2)接下来每次请求到这个接口时,都会断点,可以分别需求请求参数,以及响应参数,达到自己想要的目的
(注意:这个方法不是很推荐还有一个很重要的原因,在接口请求时,由于自己要修改内容,查找内容,操作比较慢,很容易导致接口超时,而修改不生效)
- 每次请求到base接口时,就会对当前接口进行断点,此时可以编辑传参:Edit Request
- 编辑完请求参数,点击Excute
- 接下来可以进一步编辑响应参数:Edit Response
- 编辑完响应参数,点击Excute
- 修改一次网络请求结果成功
本文详细介绍了如何使用Charles的Mock功能,包括Map Remote、Map Local和Breakpoints三种方式。Map Remote允许重定向网络请求到mock平台,Map Local则能用本地JSON文件模拟响应,而Breakpoints适合临时修改请求或响应数据。通过这些方法,测试人员可以灵活地验证接口行为和客户端展示。
370

被折叠的 条评论
为什么被折叠?



