前言
在之前的很多分享中,在UI自动化处理上,大家都是对弹窗做了很多的讲解,不管是最近看的360测试之美,还是之前的各种分享中,但是一直都没有实战过。那天看了https://testerhome.com/articles/27527文章半天,也没有写出来代码,但是呢,在和大佬沟通中呢,推荐了美团开源的一个框架--vision-ml
正文
满怀信心的下载别人的开源代码下载。下载本地,安装了依赖各种报错。执行不下去。后来翻阅大量资料材质,python版本不一样,导致了很多库的版本需要适配,那么最快速的方式呢,就是去找现成的版本,在testerhome恒总找到了版本。但是在我本地安装还是各种报错。所以我最后的固定的版本
那么我们先按照美团开源的去运行下,首先运行rcnn_train.py。去产生我们的模型,然后运行rcnn_predict.py
结果
可以正常返回坐标,然后结果可以正常选中。
针对里面的代码,我进行部分删除了,不让最后的图片展示了。
在实际的执行中,我发现有些路径可以在不同的电脑上面可能会不一样,那么我们应该怎么做呢,我对代码进行了改造。
all.config改成了
在训练模块改造了
在针对实际图片识别的时候呢,改造了
其实我改造很简单。就是把路径改成了根据动态的,在不同系统执行不会出现问题,一个小小的改造,可能让我们实际应用变得简单。
上面的是一个简单的测试,和代码的稍微的改造。
我们在手机上,去测试一个弹窗。
我本地有一个小米设备,我通过adb截屏获取了这个图片,获取图片的步骤
我想要通过adb去点击这个关闭,如何做呢。
我们把图片增加一个在image,一个图标的是1_10,其他图标是0_10,然后我们训练下模型,rcnn_predict.py改下图片的名称位置,然后执行rcnn_predict.py获取坐标。最后图标坐标是
那么我们看下在图片的定位展示
我们在电脑上执行
实际结果
可以正常关闭所有正在进行的程序,我们可以把这个模型拓展到其他的模块。
然后我们按照上面继续截图训练模型,最后根据模型坐标去点击
点击后可以正常关闭。那么我们后续可以继续训练我们的模型,在实际的工作中,我们要对弹窗的处理。在执行用例前判断是否存在这样的弹窗,截图传给模型,然后产生对应的坐标,我们拿着坐标去点击,没有坐标则不做处理。