【技术实现步骤摘要】
自定义控件获取方法和装置
本专利技术涉及自动化测试领域,具体而言,涉及一种自定义控件获取方法和装置。
技术介绍
在软件用户界面(UI)自动化测试过程中,为了准确地控制鼠标操作的位置,有一 套获取被测对象上目标控件的位置的机制。一般的Π 自动化测试通常会使用一些工具来 获取这些对象的具体位置,例如:VisualStudio中的Spy++,或者AutoIt中的WindowsInfo 工具。但是这些工具只能识别系统预设好的控件类型,如果界面上存在用户自己定义的控 件类型,则不能够获取到控件的精确位置。 例如,如图1所示,自定义控件无法通过常规工具来获取,则通过其相对于父窗 口左上角的相对位置的X、Y坐标来获取到控件的位置。相对坐标X、Y不够准确,即使在当 前环境能够准确获取到该控件的具体位置,但是在不同分辨率的屏幕或其他环境下,这个 相对坐标会有差异,这也就使得该方法获取到自定义控件的精确位置。 针对现有技术中无法获取到自定义控件的精确位置的问题,目前尚未提出有效的 解决方案。
技术实现思路
本专利技术的主要目的在于提供一种自定义控件获取方法和装置,以解决现有技术中 无法获取到自定义控件的精确位置的问题。 为了实现上述目的,根据本专利技术实施例的一个方面,提供了一种自定义控件获取 方法,用于用户界面自动化测试。根据本专利技术的自定义控件获取方法包括:获取目标控件的 查询条件,其中,所述目标控件为待获取的自定义控件,所述查询条件为用于查询所述目标 控件的条件;获取所述目标控件所在的父窗口;通过遍历所述父窗口的子控件 ...
【技术保护点】
一种自定义控件获取方法,其特征在于,用于用户界面自动化测试,其中,所述自定义控件获取方法包括:获取目标控件的查询条件,其中,所述目标控件为待获取的自定义控件,所述查询条件为用于查询所述目标控件的条件;获取所述目标控件所在的父窗口;通过遍历所述父窗口的子控件来查询满足所述查询条件的控件,将满足所述查询条件的控件作为所述目标控件;在查询到所述目标控件之后,获取所述目标控件的位置属性,其中,所述位置属性为用于表示所述目标控件位置的属性;以及通过所述目标控件的位置属性获取所述目标控件的位置信息。
【技术特征摘要】
1. 一种自定义控件获取方法,其特征在于,用于用户界面自动化测试,其中,所述自定 义控件获取方法包括: 获取目标控件的查询条件,其中,所述目标控件为待获取的自定义控件,所述查询条件 为用于查询所述目标控件的条件; 获取所述目标控件所在的父窗口; 通过遍历所述父窗口的子控件来查询满足所述查询条件的控件,将满足所述查询条件 的控件作为所述目标控件; 在查询到所述目标控件之后,获取所述目标控件的位置属性,其中,所述位置属性为用 于表示所述目标控件位置的属性;W及 通过所述目标控件的位置属性获取所述目标控件的位置信息。2. 根据权利要求1所述的自定义控件获取方法,其特征在于,通过遍历所述父窗口的 子控件来查询满足所述查询条件的控件包括: 判断所述父窗口的子控件中是否存在容器型控件,所述容器型控件内包含有多个控 件;W及 如果判断出所述父窗口的子控件中存在所述容器型控件,则通过遍历所述父窗口的子 控件和所述容器型控件中的多个控件来查询满足所述查询条件的控件。3. 根据权利要求1所述的自定义控件获取方法,其特征在于,所述查询条件包括W下 至少之一;所述目标控件的名称、所述目标控件的控件类型和所述目标控件的Text属性, 通过遍历所述父窗口的子控件来查询满足所述查询条件的控件包括: 调用所述父窗口的子控件的名称、控件类型和Text属性; 将所述目标控件的名称、所述目标控件的控件类型和所述目标控件的Text属性分别 与调用的所述父窗口的子控件的名称、控件类型和Text属性进行比对;W及 如果所述父窗口的子控件的名称与所述目标控件的名称一致和/或所述父窗口的子 控件的控件类型与所述目标控件的控件类型一致和/或所述父窗口的子控件的Text属性 与所述目标控件的Text属性一致,则确定所述父窗口的子控件为所述目标控件。4. 根据权利要求1所述的自定义控件获取方法,其特征在于,通过所述目标控件的位 置属性获取所述目标控件的位置信息包括: 使用所述目标控件定义的类调用所述目标控件内部的接口; W及 通过调用的所述目标控件内部的接口获取所述目标控件的位置信息。5. 根据权利要求1所述的自定义控件获取方法,其特征在于,在获取目标控件的查询 条件之前,所述自定义控件获取方法还包括: 获取所述目标控件的动态链接库,其中,所述动态链接库为记录有所述目标控件的位 置信息的文件; 将所述动态链接库引用到所述用户界面自动化测试工程, 其中,通过所述目标控件的位置属性获取所述目标控件的位置信息包括;通过所述目 标控件的位置属性从引用的所述动态链接库中获取所述目标控件的位置信息。6. -种自定义控件获取装置,其...
【专利技术属性】
技术研发人员:宋兰,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。