【开发工具】使用 Charles 模拟服务端 mock 数据,方便Api调试和自动化测试的方法

charles

作为前端开发,在日常开发过程中,大家可能经常会遇到后台同事的接口逻辑来不及完成,或者完成了但是由于条件限制,暂时无法发布到服务器上的情况,或者后台服务器整个就宕机的时候,往往给我们开发和测试带来很大的不便。

介于此情况,我想到,是否可以将某一台机器作为代理,处理前端的请求。这样就可以模拟后台 mock 数据,将前端的某几个请求,直接返回本地配置的JSON,让开发和测试的流程继续进行下去。

现在有现成的软件支持这个工作,安装代理软件的过程省略掉了,可以看我之前的一篇文章:

【开发工具】iOS真机调试抓包工具Charles安装及使用

 

1、编辑好本地的json格式文件

%e7%bc%96%e8%be%91%e5%a5%bd%e6%9c%ac%e5%9c%b0json%e6%96%87%e4%bb%b6

2、选择请求建立映射关系

前端发起请求,对需要映射的请求右键-> map local…

%e5%8f%b3%e9%94%ae%e6%96%b0%e5%a2%9e%e6%98%a0%e5%b0%84%e5%85%b3%e7%b3%bb

3、建立请求和本地json的映射关系

注意需要将请求参数去掉,否则会导致不能正常映射到本地文件

%e6%98%a0%e5%b0%84%e6%9c%ac%e5%9c%b0json%e6%96%87%e4%bb%b6

4、也可以单独编辑映射关系

在菜单栏选择 Tools->map local

%e5%8d%95%e7%8b%ac%e7%bc%96%e8%be%91%e6%98%a0%e5%b0%84

5、在弹出界面编辑映射关系

%e5%8f%af%e4%bb%a5%e6%96%b0%e5%a2%9e%e4%b9%9f%e5%8f%af%e4%bb%a5%e7%bc%96%e8%be%91

6、这样发起的请求就会指向某个本地json了

%e6%8c%87%e5%90%91%e6%9f%90%e4%b8%aa%e5%9c%b0%e5%9d%80%e7%9a%84%e8%af%b7%e6%b1%82%e8%bf%94%e5%9b%9e

以后代理可以做成,本地配置某几个连接进来的机器,每台机器的那个请求返回哪个json,动态控制返回结果,可以对自动化测试和前端调试开发都带来很大的便利。