这个RiNaTest安卓,说白了,就是自己被逼出来的土办法。我受够了给别人做测试那会儿,客户那个孙子,非要让我把他们那个破APP从头到尾点一遍,还必须保证每一步的截图都得颜色对、字体没变形。

那时候我用官方的那些高大上工具,效率慢得像蜗牛爬,光是把ADB那堆命令敲一遍,我都快把键盘砸了。项目给砸了,不仅钱没拿到,还被那孙子反咬一口,说我技术不过关,影响了他家祖传的生意。我寻思着,TMD,不就是个自动化截图对比吗?至于搞得跟登月火箭发射一样复杂吗?

那事儿在我心里梗了好久,越想越气。我决定自己动手整一个,把所有花里胡哨的东西全扔掉,就留一个核心功能:快,准,狠地抓图和对比。

从零开始:RiNaTest土法上马

翻箱倒柜,把我前两年为了应付毕业设计随便写的一坨Python脚本给扒拉了出来。那玩意儿连个正经名字都没有,但我知道它能跟安卓手机说上话。脚本里有些现成的基础代码,我直接拿来就用,省去了重新造轮子的麻烦。

第一步,我得把连接搞定。那些复杂的API?去他大爷的。我就抓住ADB里面最简单的那几个命令:截个图推送文件拉取文件。我用我的脚本包了一层,让它只认这三个动作,其他的一概不理。这么做的好处就是,调试和排错的时候,你一眼就能看到问题出在哪,不用去翻那些厚厚的文档。

我给这个脚本起了个名字,就叫它RiNaTest。RiNa是我家那只特别能闹腾的橘猫的名字,老是跳上我的键盘,害我少写了好多行代码。妈的,就用它的名字纪念一下我这憋屈的实践。

小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

核心实现:粗暴但好用

我撸起袖子,用一个通宵的时间把所有逻辑全部怼了进去。我这回要的不是优雅的代码,我要的是能跑,能解决问题的代码。实践过程,我主要做了几件事:

  • 写个死循环:让脚本每隔一秒就自动去手机上抓取一次最新屏幕。不用等我手动去点,解放了我的双手。
  • 设定一个基准图:让它先抓一张“标准图”存起来,作为参照物。
  • 暴力像素对比:接下来的截图,我直接让程序挨个像素点去跟基准图死磕。我可没工夫去学什么复杂的图像识别算法,能判断颜色值不一样就行。只要发现超过百分之五的像素点对不上,就立马给我标记出来,并且停止。
  • 自动重试机制:程序得有脾气。如果第一次抓图失败了,或者对比结果不对,程序会骂骂咧咧地自动重试两次,不成功就直接报错退出。不能让它傻等。
  • 结果输出:一步,把对比失败的截图自己命名自动存到桌面一个文件夹里。文件名带上时间,方便我事后跟客户对骂。

最终成型:土脚本干翻洋工具

整个过程我一气呵成,用了一个晚上就全部搞定了。第二天早上,我把这个RiNaTest丢进我朋友的安卓项目里跑了一遍。以前需要两个小时手动点的流程,它五分钟就跑完了,而且指出了一个隐藏得特深的字体错误,这玩意儿肉眼根本发现不了。

我当时坐在电脑前,就狠狠地抽了一根烟。那些所谓的专业工具、复杂的框架,我TMD根本不需要!一个土脚本,干翻了那些洋工具。我把这套东西分享出来,不是为了教你们什么高大上的技术,就是想说,有时候,最简单的、最粗暴的、能解决问题的土办法,才是真的牛逼。别听那些专家瞎扯淡,自己动手,丰衣足食!

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。