软件测试 | Mock 是什么?
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 所示。
(2)Map Remeto
Map Local 可以将指定的网络请求重定向到另一个网址。
1)在 Charles 的菜单中,依次选择“Tools”→“Map Remote”项或选择“Map Local”项即可进入到相应功能的设置页面,如图 6-29 所示。
2)查看请求访问结果,则会发现,www.baidu.com 被重定向到 www.sougou.com(见图 6-30)。
(3)Rewrite
Rewrite 适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。
1)在 Charles 的菜单中,依次选择“Tools”→“Rewrite”项,对网络请求内容进行替换,即把页面中“我的关注”替换为“霍格沃兹”。
2)使用 Rewrite,对百度发起申请,这时,页面中“我的关注”变为了“霍格沃兹”,如图 6-31 所示。
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论