[发明专利]一种UI自动化测试图片识别方法有效
申请号: | 201910449563.1 | 申请日: | 2019-05-28 |
公开(公告)号: | CN110347585B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 徐源 | 申请(专利权)人: | 成都美美臣科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06V10/75;G06V10/46;G06V10/56 |
代理公司: | 成都瑞创华盛知识产权代理事务所(特殊普通合伙) 51270 | 代理人: | 辜强 |
地址: | 610000 四川省成都市中国(四川)*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ui 自动化 测试 图片 识别 方法 | ||
本发明公开了一种UI自动化测试图片识别方法,包括以下步骤:首先根据应用控件的设计需要按规定制作对照表;然后根据UI规则对应用控件执行抽象和封装;其次提取页面控件,获取控件坐标;最后提取匹配SIFT特征,获得匹配结果,执行指定操作。本发明让代码库变得更加轻量级;应对UI改变能力增强,大大减少了维护所需工作量;将移动端自动化测试脚本编写工作和图片识别彻底解耦,团队分工明确。
技术领域
本发明属于软件图片识别技术领域,特别是涉及一种UI自动化测试图片识别方法。
背景技术
在目前广泛使用的移动端自动化测试技术中,图片识别技术必不可少。这类技术的作用在于:
(1)解决终端的多样性导致的原生控件定位问题。
(2)提供内置WebView页面的操作可行性。
(3)在严格的自动化测试工程中丰富验证手段的多样性。
现如今市面上使用的商业工具或者是开源框架中,多数采用的较为直接的对比方式(如图1),即在屏幕上执行部分的图片截取,保存到代码库中,以方便在不同的执行环境下进行图片对比;随后根据客户端引入OpenCV的库,直接调用内部的比较方法,从而转化为相应的屏幕坐标进行操作,或者执行包含验证。这样的方法有着如下的局限性:
(1)让代码库冗余。在常规的代码管理中,类似于图片,视频或者压缩包这样的“制造品”不应该被追踪到git或者subversion的代码库中。保持代码库的整洁是一个好习惯。但是如果我们要使用这种传统的去做图片识别,那么你的代码库会变成一个庞然大物:试想你有一万个图片需要比对。
(2)图片难以维护。当你的用例堆积如山后,脚本可以通过不断的重构和二次封装变得尽量容易维护,但是这些图片会给整体的维护工作带来巨大的困扰,试想一下你每天都在不断的重新截图,然后执行一个最小代码片段来执行测试。
因此,如何解决上述问题成为本领域人员研究的重点。
发明内容
本发明的目的就是提供一种UI自动化测试图片识别方法,能完全解决上述现有技术的不足之处。
本发明的目的通过下述技术方案来实现:
一种UI自动化测试图片识别方法,包括以下步骤:
1)根据应用控件的设计需要按规定制作对照表;
2)根据UI规则对应用控件执行抽象和封装;
3)提取页面控件,获取控件坐标;
4)提取匹配SIFT特征,获得匹配结果,执行指定操作。
作为优选,步骤1)中对照表的内容包括控件像素、控件字体大小、控件图片色域(RGB)。
作为优选,步骤2)中封装的内容包括控件的图片色域、色调、饱和度、亮度。
作为优选,实现提取页面控件,获取控件坐标的方法为:
11)对页面控件需要执行识别的图片颜色进行空间转换,获得图片色域值;
12)对步骤11)中获得的色域值通过高低边界值匹配所有疑似目标控件,并将获取到的控件坐标以原点坐标+宽高的模式存储。
作为优选,实现取匹配SIFT特征,获得匹配结果,执行指定操作的方法为:
21)以步骤3)中获取的控件坐标进行区域性的图片截取,并以这些图片作为源进行遍历;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都美美臣科技有限公司,未经成都美美臣科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910449563.1/2.html,转载请声明来源钻瓜专利网。