1.Mock简介

Mock是一种通过代理修改请求与响应,从而辅助构造更多应用场景的工具。Mock测试就是在测试过程中,对于某些不容易构造不容易获取的对象,创建一个虚拟的对象,以便可以对此对象进行测试的方法。例如,在测试第三方机构的支付时,我们不可能获取到第三方服务的对象,需要用Mock测试的方法,创建了一个虚拟的第三方机构的支付服务的测试环境,测试人员便可以顺利地开展测试工作了,也使得测试环境更接近真实的使用场景。

2.Charles修改请求与响应

(1)Map Local

Map Local是Charles自带的功能,它可以将指定的网络请求重定向到本地文件,操作步骤如下。

1)把从Charles接口中返回的数据保存到本地的操作步骤是:在Charles页面找到目标接口,右键单击接口项,在弹出菜单中点击“SaveResponse”项,然后选择html格式保存数据文件。

2)将保存下来的html数据文件进行修改。可以使用文本编辑器(如记事本)打开html文件,并将文本中的内容为“百度一下”的修改为“霍格沃兹”。

3)在Charles页面菜单栏中依次选择“Tools”→“Map Local”项,进入编辑页面,在编辑页面选择“Enable Map Local”项,并选择修改后的html格式文件。

4)对百度页面发起一次新的请求,可以看到“百度一下”变为了“霍格沃兹”,如图6-28所示。

charles mock超时_charles mock超时

 

(2)Map Remeto

Map Local 可以将指定的网络请求重定向到另一个网址。

1)在Charles的菜单中,依次选择“Tools”→“Map Remote”项或选择“Map Local”项即可进入到相应功能的设置页面,如图6-29所示。

2)查看请求访问结果,则会发现,www.baidu.com被重定向到www.sougou.com(见图6-30)。

charles mock超时_java_02

 

charles mock超时_网络请求_03

 

(3)Rewrite

Rewrite适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。

1)在Charles的菜单中,依次选择“Tools”→“Rewrite”项,对网络请求内容进行替换,即把页面中“我的关注”替换为“霍格沃兹”。

2)使用Rewrite,对百度发起申请,这时,页面中“我的关注”变为了“霍格沃兹”,如图6-31所示。

charles mock超时_charles mock超时_04