[发明专利]自定义控件获取方法和装置有效
申请号: | 201410779387.5 | 申请日: | 2014-12-15 |
公开(公告)号: | CN104461892B | 公开(公告)日: | 2018-04-03 |
发明(设计)人: | 宋兰 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 吴贵明,张永明 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自定义 控件 获取 方法 装置 | ||
技术领域
本发明涉及自动化测试领域,具体而言,涉及一种自定义控件获取方法和装置。
背景技术
在软件用户界面(UI)自动化测试过程中,为了准确地控制鼠标操作的位置,有一套获取被测对象上目标控件的位置的机制。一般的UI自动化测试通常会使用一些工具来获取这些对象的具体位置,例如:VisualStudio中的Spy++,或者AutoIt中的WindowsInfo工具。但是这些工具只能识别系统预设好的控件类型,如果界面上存在用户自己定义的控件类型,则不能够获取到控件的精确位置。
例如,如图1所示,“自定义控件”无法通过常规工具来获取,则通过其相对于父窗口左上角的相对位置的X、Y坐标来获取到控件的位置。相对坐标X、Y不够准确,即使在当前环境能够准确获取到该控件的具体位置,但是在不同分辨率的屏幕或其他环境下,这个相对坐标会有差异,这也就使得该方法获取到自定义控件的精确位置。
针对现有技术中无法获取到自定义控件的精确位置的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种自定义控件获取方法和装置,以解决现有技术中无法获取到自定义控件的精确位置的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种自定义控件获取方法,用于用户界面自动化测试。根据本发明的自定义控件获取方法包括:获取目标控件的查询条件,其中,所述目标控件为待获取的自定义控件,所述查询条件为用于查询所述目标控件的条件;获取所述目标控件所在的父窗口;通过遍历所述父窗口的子控件来查询满足所述查询条件的控件,将满足所述查询条件的控件作为所述目标控件;在查询到所述目标控件之后,获取所述目标控件的位置属性,其中,所述位置属性为用于表示所述目标控件位置的属性;以及通过所述目标控件的位置属性获取所述目标控件的位置信息。
进一步地,通过遍历所述父窗口的子控件来查询满足所述查询条件的控件包括:判断所述父窗口的子控件中是否存在容器型控件,所述容器型控件内包含有多个控件;以及如果判断出所述父窗口的子控件中存在所述容器型控件,则通过遍历所述父窗口的子控件和所述容器型控件中的多个控件来查询满足所述查询条件的控件。
进一步地,所述查询条件包括以下至少之一:所述目标控件的名称、所述目标控件的控件类型和所述目标控件的Text属性,通过遍历所述父窗口的子控件来查询满足所述查询条件的控件包括:调用所述父窗口的子控件的名称、控件类型和Text属性;将所述目标控件的名称、所述目标控件的控件类型和所述目标控件的Text属性分别与调用的所述父窗口的子控件的名称、控件类型和Text属性进行比对;以及如果所述父窗口的子控件的名称与所述目标控件的名称一致和/或所述父窗口的子控件的控件类型与所述目标控件的控件类型一致和/或所述父窗口的子控件的Text属性与所述目标控件的Text属性一致,则确定所述父窗口的子控件为所述目标控件。
进一步地,通过所述目标控件的位置属性获取所述目标控件的位置信息包括:使用所述目标控件定义的类调用所述目标控件内部的接口;以及通过调用的所述目标控件内部的接口获取所述目标控件的位置信息。
进一步地,在获取目标控件的查询条件之前,所述自定义控件获取方法还包括:获取所述目标控件的动态链接库,其中,所述动态链接库为记录有所述目标控件的位置信息的文件;将所述动态链接库引用到所述用户界面自动化测试工程,其中,通过所述目标控件的位置属性获取所述目标控件的位置信息包括:通过所述目标控件的位置属性从引用的所述动态链接库中获取所述目标控件的位置信息。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种自定义控件获取装置,用于用户界面自动化测试。根据本发明的自定义控件获取装置包括:第一获取单元,用于获取目标控件的查询条件,其中,所述目标控件为待获取的自定义控件,所述查询条件为用于查询所述目标控件的条件;第二获取单元,用于获取所述目标控件所在的父窗口;查询单元,用于通过遍历所述父窗口的子控件来查询满足所述查询条件的控件,将满足所述查询条件的控件作为所述目标控件;第三获取单元,用于在查询到所述目标控件之后,获取所述目标控件的位置属性,其中,所述位置属性为用于表示所述目标控件位置的属性;以及第四获取单元,用于通过所述目标控件的位置属性获取所述目标控件的位置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410779387.5/2.html,转载请声明来源钻瓜专利网。