可能到这里,很多同学说,改数据库就可以实现了呀,但是改数据库有可能存在两个问题:不是所有的测试都有数据库的修改权限。有一些数据信息是直接从第三方接口获取的,测试也不可能有改第三方服务数据库的权限。其实要实现上面这个测试需求是非常简单的,只要善用Mock工具,了解Mock的实现与配置原理,就能够轻松完成雪球股票界面的列表展示颜色是否会跟随股价的涨跌停进行变化,从而提升测试效率。
领导让我测试部署在某个机器上的软件,可是。。。机器都没有部署好,没办法测试呀
此时再次请求百度,则可以看到“百度一下”变为了“霍格沃兹”
我测试的模块严重和其他模块有耦合,其他模块还没开发完成,我只能干等,导致最后测试延期了…绩效又打C了
当然了,本文的重点是在讲Mock技术,那接下来就看一下,Charles是如何实现Mock的吧。注意:以下操作默认已经安装Charles并且设置好信任证书,可以成功代理。通过Mock技术修改百度页面的效果先保存接口返回数据,右键单击某接口->点击SaveResponse->文件后缀写上.html
将“百度一下”替换成“”霍格沃兹
我想测试前端页面字体是不是有做兼容性处理,需要改相关字段的数据库,但是我又没有修改数据库的权限,我好愁呀
以上的小练习只是实现了Mock技术中的一个简单应用场景.
这些都是我们在平时测试过程中,经常碰到的阻塞测试进度的问题,那有什么技术手段,可以解决这些问题,提升我们的测试效率呢?先不要着急知道答案,大家可以看一下上面的这四个过程,其实都是我们的被测模块在向某一个依赖环境发送请求的过程中,依赖环境出现了问题,导致影响我们的测试效率。那如果我们把这个“拖后腿”的依赖环境直接替换,改成我们自己的一个服务接口,我们想让它返回什么就返回什么,测试起来,是不是就轻松多了?
通过Mock技术修改股票的展示效果上面这个案例是Mock技术相对比较简单的一个应用场景,那Mock技术是否可以在App应用上取得同样的效果呢?比如下,我们要去测试雪球股票界面的列表展示颜色是否会跟随股价的涨跌停进行变化。
设置Charles进行maplocal,右键点击MapLocal->进入EditMapping->点击choose->选择修改后的html->点击OK
支持SSL代理。可以抓取分析https的请求。支持流量控制。可以模拟慢速网络以及等待时间较长的请求。支持重发网络请求,方便后端调试。支持修改网络请求参数。支持网络请求的截获并动态修改。可以自动将json或xml数据格式化,方便查看。
视频文档获取方式:
对本地的html进行修改,将“百度一下”改为“霍格沃兹”使用记事本打开使用替换功能
文章为作者独立观点,不代表股票交易接口观点