2023年6月30日发(作者:)
AppMock⼯具设计及原理⽬录
⼀、⽬前现状开发过程中和QA测试过程中遇到下列情况:1、想快速看到当前app api接⼝请求情况,以及打点请求情况,⽬标:帮助快速定位和排查问题;2、制造数据和场景⽐较复杂时,不能够给⾃⼰⼿机或者模拟器上 的app去 mock某个指定接⼝(1~n个)的数据返回并且不影响其他⼈;3、对于新业务需求,接⼝的⼊参和返回定义完后,客户端会被服务端block住,不能在本地⾃⼰mock联调和⾃测;4、开发或者QA在测试或者调试过程中遇到需要数据上的⽀持时,只能⿇烦其他同事配置或者⾃⼰去配置,不能⾃⼰快速解决问题和绕过问题(例如⽀付完成后的流程⽆法⾛到)5、遇到有些接⼝请求的数据⼀天只会返回⼀次,这样会给⾃测的过程中带来⿇烦
总结为以下⼏点:1、不利于快速排查和定位问题;2、客户端和服务端不能进⾏开发依赖分离;3、接⼝不能快速Mock;4、需要更多的沟通本成和时间成本;
对于第⼆点再补充下:1)可以给指定的某个接⼝mock⾃⼰给的测试数据;2)mock server根据设备唯⼀标识来区分;3)⾃⼰的mock设置不会影响其他⼈;4)mock可以灵活启⽤和禁⽤⼆、为什么不⽤Charles对于⽬前现状中的有些charles也可以解决呀。是的Charles是可以解决,就是多花些时间成本,关键是这个成本是所有开发和QA都需要付出。1、需要⾃⼰各种配置和设置,难⽤还要钱2、展⽰的东西太多,需要⾃⼰去筛选,UI展⽰看起来不是那么友好3、功能太强⼤,反⽽我们最需要的那部分功能做的⽐较简单或者说粗糙4、太过低效三、如何实现1、实现⽅案:客户端:android和iOS需要有个⼿机扫码功能,模拟器需要app内提供⼀个请求链接mock服务⼊⼝,在所有发出的⽹络请求都需要带上唯⼀标识的设备id,注册服务的时候也需要带上设备idPCWeb端:需要提供展⽰Mock相关所有的数据和⽤户操作⼊⼝PS:只展⽰当前⼿机app扫⼆维码连接后的数据可能会有个疑问:Web端是如何确切知道当前连接MockServer的⼿机是哪个呢?Server端:1、需要搭建了⼀个HTTP Mock Server,然后根据需求返回指定数据。对于不需要模拟的请求,直接到达真实的Server,需要模拟的请求就转向MockServer。2、Server端需要提供app注册的服务并记录app的设备id,可以通过设备、接⼝等维度进⾏区分即需要⽀持单个设备单个接⼝的mock。
web端是如何知道是哪个⼿机连上了MockServer呢?其实也就是需要明⽩⼿机上app在扫电脑上⼆维码时,到底做了哪些操作呢?看下在注册流程图:2、实现成本:客户端成本最⼩,只需要提供⼊⼝进⾏注册将host换成mockserver,不需要代码侵⼊PCWeb端需要提供完备的功能给⽤户使⽤服务端成本最⼤,需要⽐较多的实现,⼀⽅⾯需要提供给PCWeb端⽹站接⼝,⼀⽅⾯需要搭建⼀套成熟的HTTP Mock Server,有些复杂,但却是整个系统的⼼脏。3、基本流程四、实现结果5、如何使⽤1、⼿机⽤户通过直接扫Web提供的⼆维码进⾏扫码注册;2、查看已经请求过的API3、找到需要被mock的API4、在Response区mock⾃⼰的测试数据,点击保存并⽣效5、重新发出该接⼝的请求,获取到⾃⼰设置的测试数据,mock成功6、在mock管理处有个历史mock记录,此处可以进⾏mock暂停,可以恢复到接⼝真实数据返回
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688094044a80056.html
评论列表(0条)