一种用于在图形用户界面中定位控件的方法和装置制造方法及图纸

技术编号:9794394 阅读:78 留言:0更新日期:2014-03-21 18:25
本发明专利技术公开了一种用于在图形用户界面中定位控件的方法和装置。所述方法包括步骤:获取控件的图像,以作为基准图像;对所述基准图像进行处理,以生成第一特征值;在所述图形用户界面中获取检测区域图像;对所述检测区域图像进行处理,以生成第二特征值;以及对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置。

【技术实现步骤摘要】
一种用于在图形用户界面中定位控件的方法和装置
本专利技术涉及计算机
,尤其涉及一种用于在图形用户界面中定位控件的方法和装置。
技术介绍
在软件的图形用户界面的自动化测试中,最为关键的一点就是在图形用户界面中定位某个控件的位置,并操作它。在某些操作系统,如windows中,有些图形用户界面的控件是按该操作系统的标准控件来设计实现的,对于这些控件,可以通过系统工具,如spy++,来获取这些控件的句柄或控件属性,同时通过操作系统的底层应用程序编程接口获得到这个标准控件的定位及操作权。但随着时代发展,目前大多数的图形用户界面控件都是非标准控件,甚至是一些动态图形的控件,对于这些类型的控件,底层应用程序编程接口往往不能或者难以得到这个标准控件的定位及操作权。另一种用于图形用户界面的自动化测试的技术是UI Automation(UIA),通过在测试代码中添加sleep硬编码或通过轮询机制监控控件的状态实现了控件状态的同步和等待机制,并且通过支持事件通知机制解决了控件状态反馈的问题。但是,这种技术不支持自定义控件,必须开发与自定义控件相应的控件标记,应用范围过窄。还有一种用于图形用户界面的自动化测试的技术是使用图像md5算法对图形控件进行匹配来定位控件:首先获取控件的基准图片的md5值;再获取全屏图片,在整个图形用户界面中各像素点移动截取与基准图片相同大小的图片并计算其md5值;与基准图片的md5值进行匹配。然而,这种技术需要顺序遍历整个图形用户界面,导致判断的时间长且运算复杂、繁琐,而且在匹配判别过程存在很大误差,导致误判。
技术实现思路
鉴于上述问题,提出了本专利技术,以便提供一种克服上述问题或者至少部分地解决上述问题的用于在图形用户界面中定位控件的方法和装置。依据本专利技术的第一方面,提供了一种用于在图形用户界面中定位控件的方法,包括步骤:获取控件的图像,以作为基准图像;对基准图像进行处理,以生成第一特征值;在图形用户界面中获取检测区域图像;对检测区域图像进行处理,以生成第二特征值;以及对第一特征值和第二特征值进行相似度计算,以确定控件在图形用户界面中的位置。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,对基准图像进行处理,以生成第一特征值的步骤包括:检测基准图像在尺度空间的极值点;根据极值点,定位基准图像在尺度空间的关键点;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及根据特征向量,生成第一特征值。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,在图形用户界面中获取检测区域图像的步骤包括:在图形用户界面中选择检测区域;在检测区域中获取检测区域图像。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,其中控件是动态控件,且对检测区域图像进行处理,以生成第二特征值的步骤包括:确定动态控件的图像的循环变化周期;在每个周期内选取一个或多个时间点;对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,其中对检测区域图像进行处理,以生成第二特征值的步骤包括:检测检测区域图像在尺度空间的极值点;根据极值点,定位检测区域图像在尺度空间的关键点;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及根据特征向量,生成第二特征值。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,其中时间点均匀分布或按特定算法分布。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,其中对第一特征值和第二特征值进行相似度计算,以确定控件在检测区域中的位置的步骤包括:预先设定阈值;计算第一特征值和第二特征值的商;比较阈值与商,以确定用户界面控件在检测区域中的位置。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,其中检测尺度空间的极值点的步骤包括:对图像进行灰度处理;对图像上的点进行高斯变换,以获得尺度轨迹曲线;检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的方法中,其中第一特征值是基准图像的特征向量的欧式距离,且第二特征值是检测区域图像的特征向量的欧式距离。依据本专利技术的第二方面,提供了一种用于在图形用户界面中定位控件的装置,包括:基准图像获取模块,适于获取控件的图像,以作为基准图像;第一特征值生成模块,适于对基准图像进行处理,以生成第一特征值;检测区域图像获取模块,适于在图形用户界面中获取检测区域图像;第二特征值生成模块,适于对检测区域图像进行处理,以生成第二特征值;以及相似度计算模块,适于对第一特征值和第二特征值进行相似度计算,以确定控件在图形用户界面中的位置。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中第一特征值生成模块适于:检测基准图像在尺度空间的极值点;根据极值点,定位基准图像在尺度空间的关键点;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及根据特征向量,生成第一特征值。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中检测区域图像获取模块适于:在图形用户界面中选择检测区域;在检测区域中获取检测区域图像。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中控件是动态控件,且第二特征值生成模块适于:确定动态控件的图像的循环变化周期;在每个周期内选取一个或多个时间点;对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中第二特征值生成模块适于:检测检测区域图像在尺度空间的极值点;根据极值点,定位检测区域图像在尺度空间的关键点;为每个关键点指定方向参数,以生成相应于每个关键点的特征向量;以及根据特征向量,生成第二特征值。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中时间点均匀分布或按特定算法分布。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中相似度计算模块适于:预先设定阈值;计算第一特征值和第二特征值的商;比较阈值与商,以确定用户界面控件在检测区域中的位置。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中第一特征值生成模块和第二特征值生成模块适于:对图像进行灰度处理;对图像上的点进行高斯变换,以获得尺度轨迹曲线;检测尺度轨迹曲线的局部极值点,作为尺度空间的极值点。可选地,在根据本专利技术的实施例的用于在图形用户界面中定位控件的装置中,其中第一特征值是基准图像的特征向量的欧式距离,且第二特征值是检测区域图像的特征向量的欧式距离。本专利技术提供了上述用于在图形用户界面中定位控件的方法和装置。根据本专利技术的实施例,该方法和装置能够利用图形匹配来准确定位、识别标准图形控件、非标准图形控件和/或动态图形控件;该方法和装置不依赖于操作系统的底层应用程序编程接口,可以用于多种操作系统中;该方法和装置可适应图形用户界面的快速迭代修改,即使在图形控件变化频繁时,也只涉及对基准图片的修改,仅需要对自动化测试程序逻辑进行少本文档来自技高网...
一种用于在图形用户界面中定位控件的方法和装置

【技术保护点】
一种用于在图形用户界面中定位控件的方法(100),包括步骤:获取控件的图像,以作为基准图像(S101);对所述基准图像进行处理,以生成第一特征值(S103);在所述图形用户界面中获取检测区域图像(S105);对所述检测区域图像进行处理,以生成第二特征值(S107);以及对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置(S109)。

【技术特征摘要】
1.一种用于在图形用户界面中定位控件的方法(100),包括步骤: 获取控件的图像,以作为基准图像(SlOl); 对所述基准图像进行处理,以生成第一特征值(S103); 在所述图形用户界面中获取检测区域图像(S105); 对所述检测区域图像进行处理,以生成第二特征值(S107);以及对所述第一特征值和所述第二特征值进行相似度计算,以确定所述控件在所述图形用户界面中的位置(S109)。2.如权利要求1所述的方法,其中对所述基准图像进行处理,以生成第一特征值(S103)的步骤包括: 检测所述基准图像在尺度空间的极值点(S103a); 根据所述极值点,定位所述基准图像在尺度空间的关键点(S103b); 为每个关键点指定方向参数,以生成相应于每个关键点的特征向量(S103c);以及 根据所述特征向量,生成所述第一特征值(S103d)。3.如权利要求1所述的 方法,其中在所述图形用户界面中获取检测区域图像(S105)的步骤包括: 在所述图形用户界面中选择检测区域; 在所述检测区域中获取检测区域图像。4.如权利要求1所述的方法,其中所述控件是动态控件,且对所述检测区域图像进行处理,以生成第二特征值(S107)的步骤包括: 确定所述动态控件的图像的循环变化周期(S107a); 在每个周期内选取一个或多个时间点(S107b); 对每个时间点的检测区域图像进行处理,以生成相应于各自时间点的第二特征值(S107c)。5.如权利要求1或4所述的方法,其中对所述检测区域图像进行处理,以生成第二特征值(S107,S107c)的步骤包括: 检测所述检测区域图像在尺度空间的极值点(S107d); 根...

【专利技术属性】
技术研发人员:张钊
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1