首页 > 其他分享 >Charles的Map Remote和Map Local功能和使用介绍(转载)

Charles的Map Remote和Map Local功能和使用介绍(转载)

时间:2023-01-19 17:02:07浏览次数:61  
标签:Map 00 Remote app Charles 接口 Local

出处:  https://www.cnblogs.com/nzg-noway/articles/6524952.html

Charles 的Map 功能分Map Remote 和Map Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址,Map Local 是将指定的网络请求重定向到本地文件。

Map Remote 使用场景,app或者PC&M站某个需求刚提测阶段,新接口A在测试环境有,还有一种极端情况,接口只在开发本地机器提供(无线底层很多接口不维护测试环境),线上环境A接口还未上线,通常的做法是:

1.APP测试包打包时候写死(这种只能开发本地打包,不能使用jenkins打的包);M站或者网站在配置文件写死请求地址(各种改配置很麻烦)

 

2.app全部切换到A接口所在的测试环境,比如sit环境(这种情况下,所有接口都走sit环境,不保证其他接口正常)

 

如:Map Remote能解决这种情况,APP使用新接口,app线上调用地址是 http://xxx/portal/home/pullRefresh app默认调用也是这个,目前现在接口还没提供

 

接口+参数完整请求是:http://xxx/portal/home/pullRefresh?d={}&c={"cc":1602,"ct":20,"dt":1,"ov":14,"p":14584,"v":"9.0.5"}

 

目前开发本机提供测试接口: http://172.31.0.158:8080/portal/home/pullRefresh?d={}&c={"cc":1602,"ct":20,"dt":1,"ov":14,"p":14584,"v":"9.0.5"}

不配置的时候直接调用,结果是404 (原因是接口xxxx/portal/home/pullRefresh还不存在,对于app来说调了一个不存在的接口)

charles做如下配置:

 

然后重启app,查看接口请求情况,看到实际请求了我们转发的172.31.0.158:8080接口,而不再请求域名XXX 接口,下面图片能看到 

至此,Map Remote 功能配置完成。

 

Map Local的使用场景,要验证接口返回数据的各种场景。正常流程是配置系统配置数据,或者产品配置配置产品。Map Local可以轻易改变请求接口的返回数据。

以下面的接口为例:

{
    "success": true,
    "errorCode": 710000,
    "msg": "OK",
    "data": {
        "successFlag": true,
        "imageZipUrl": "http://10.10.33.144/fb2/t2/group1/M00/00/59/CgohkFhZ9V-CidqAARAhOcRJ4cAAAAqgKGEzIABECc993.zip",
        "imageZipMd5": "fe222cb5fa6fa915524ba9f73fb3c3de",
        "startTime": "2016-12-23 08:55:00",
        "endTime": "2016-12-29 15:00:00"
    }
}

设定环境:

1.这个接口来源是athena,还在开发中,接口数据是写死的,没法改变。

2.即使 后台和接口都是好的,需要的数据都要在 athena 配置,每次配置生效,等缓存时间过期,都很耗费时间。

3.imageZipMd5 值athena 不能随意配置,测试场景需要非法的 imageZipMd5 ,没法通过配置实现。

这是正常的接口返回,现在要 successFlag 改成false 或者 imageZipMd5 改变,时间失效等等数据改变组合。

还是要上面的接口:

http://172.31.0.158:8080/portal/home/pullRefresh?d={}&c={"cc":1602,"ct":20,"dt":1,"ov":14,"p":14584,"v":"9.0.5"}

默认数据就是上面列出的,现在配置 Map Local;

1.先本地创建一个文本,比如 json.txt。里面内容复制上面json数据,并且改变 imageZipMd5值 62cddce134c9625896b361137bfabe4e

{
    "success": true,
    "errorCode": 710000,
    "msg": "OK",
    "data": {
        "successFlag": true,
        "imageZipUrl": "http://10.10.33.144/fb2/t2/group1/M00/00/59/CgohkFhZ9V-CidqAARAhOcRJ4cAAAAqgKGEzIABECc993.zip",
        "imageZipMd5": "62cddce134c9625896b361137bfabe4e",
        "startTime": "2016-12-23 08:55:00",
        "endTime": "2016-12-29 15:00:00"
    }
}

2.配置 Map Local Map To 链接到本地的 json.txt文件

重启app 再次请求接口,接口返回数据  imageZipMd5 已经变成本地文件 json.txt的值。现在可以随意修改 json.txt 里面的内容,覆盖很多场景,节省测试的验证时间。

至此,Map Local 功能配置完成。

标签:Map,00,Remote,app,Charles,接口,Local
From: https://www.cnblogs.com/xiaoyanhuo/p/17061772.html

相关文章

  • 学习笔记——@RequestMapping注解位置、注解属性;@RequestMapping支持Ant风格的路径
    2023-01-19一、@RequestMapping注解位置1、书写在类上面(1)作用:为当前类设置映射URL(2)注意:不能单独使用,需要与方法上的@RequestMapping配合使用2、书写在方法上面(1)作用:......
  • 37-ElasticSearch-Mapping映射
    1)、字段类型2)、映射3)、新版本改变1、创建映射2、添加新的字段映射其中index表示这个字段是否能被当作检索字段。(即通过employee-id无法进行查找)3、更新......
  • 浅谈Spring如何利用三个缓存Map解决循环依赖
    写在最前面,在写这篇文章之前,我也参考了很多别人对于Spring循环依赖的讲解,大部分人都是按照先使用二级缓存,再使用三级缓存的思路去讲解。在阅读了Spring源码中关于循环依赖的......
  • 浅谈BeanDefinition、BeanDefinitionMap、RootBeanDefintion三者的关系
    文章目录​​一、BeanDefinition​​​​1、具体实现子类​​​​2、手动创建子类​​​​3、beanClass成员变量的含义​​​​二、BeanDefinitionMap​​​​三、RootBeanD......
  • 如何使用sqlmap爆库和挂马
    ​这篇文章讲述一下sqlmap的基本使用,爆库和挂马。安装sqlmap: 这篇文章讲述一下sqlmap的基本使用,爆库和挂马。 windows:(1)安装python并配置环境PythonReleasesforWin......
  • Nmap
    Nmap官网:https://nmap.org/Nmap,NetworkMapper,扫描工具,一般用来确定网络上机器的操作系统、端口开放情况Zenmap是Nmap的图形化前端。官方给的几个命令行示例:nma......
  • SQL注入基础及SQLmap
    SQL注入基础及SQLmap一、数据库基础1.数据库基本概念Oracle、MySQL、SQLServer、Access、DB2、Sqlite3都使用SQL语言(增删改查等基础内容相同,扩展内容各不相同)SQL:结构......
  • JDK 1.8 TreeMap源码分析
    /**   *TreeMap特点:   * 底层:二叉红黑树key输入无序,升序排列,null不可以   * 1.2    */publicclassTreeMap<K,V>   extendsAbstractMap<K......
  • JDK 1.8 HashMap的源码分析
       /**   *HashMap的特点:   *1.AbstractMapMap冗余   *2.与hashTable一样1.1效率低,线程安全,key不为null hashMap1.2 效率高,key为null ......
  • 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
    1.简介前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charle......