[发明专利]获取控件的逻辑位置的方法及装置有效
申请号: | 201210180795.X | 申请日: | 2012-06-04 |
公开(公告)号: | CN103455414B | 公开(公告)日: | 2017-08-01 |
发明(设计)人: | 杨海燕 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 张耀光 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 控件 逻辑 位置 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种获取控件的逻辑位置的方法及装置。
背景技术
目前,自动化测试已越来越多地应用于测试领域,它不但节省了人力和时间,而且提高了测试效率。在为被测对象中的待测控件编写测试脚本之前,测试人员需要获取该待测控件在界面中的逻辑位置,以便根据该待测控件的逻辑位置编写该待测控件的测试脚本。
现有技术通过Instruments自带的UIAutomation工具获取被测对象的界面内的控件的控件信息,并将该控件信息以文本形式存储在Plist文件中,通过遍历Plist文件即可获知待测控件在界面中的逻辑位置,从而根据该逻辑位置编写测试脚本。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
遍历Plist文件中的控件信息获知待测控件的逻辑位置,操作复杂,浪费了大量的人力和时间,效率较低。
发明内容
本发明实施例提供了一种获取控件的逻辑位置的方法及装置,以简化获取待测控件的逻辑位置的操作,提高获取效率。所述技术方案如下:
一方面,提供了一种获取控件的逻辑位置的方法,所述方法包括:
预先执行脚本遍历被测对象的界面内的控件得到所述界面内的控件的控件信息,所述控件信息中包括控件的层级;
按照控件层级数由小到大的顺序、且子控件优于同级控件排列的原则,将得到的所述控件信息存储在一个文件中;
从所述文件中顺序读取所述界面内的控件的控件信息,且依次将读取的控件信息作为当前的控件信息,循环执行以下步骤,直到所述文件中的控件信息读取完毕,以建立所述界面内的控件之间的连接关系:根据所述当前的控件信息判断对应的当前控件是否层级为1;如果是,则确定所述当前控件为根控件;如果否,则在已读取的控件信息中查找层级比所述当前控件的层级小1且位置最近的控件,将查找到的控件作为所述当前控件的父控件建立连接关系;
根据所述连接关系生成所述界面内的控件的树形结构,所述树形结构中显示有每一个控件的唯一标识;
当获取所述界面内待测控件的逻辑位置时,根据所述树形结构获取所述待测控件的逻辑位置。
进一步地,根据所述连接关系生成所述界面内的控件的树形结构,包括:
根据所述连接关系,按照控件层级数由小到大的顺序、且子控件优于同级控件绘制的原则,绘制所述界面内的控件的树形结构。
优选地,根据所述树形结构获取所述待测控件的逻辑位置之后,还包括:
根据所述待测控件的逻辑位置确定根控件至所述待测控件的路径,以用于对所述被测对象进行测试时所述待测控件的测试脚本的编写。
另一方面,还提供了一种获取控件的逻辑位置的装置,所述装置包括:
关联模块,用于获取被测对象的界面内的控件的控件信息,根据所述控件信息建立所述界面内的控件之间的连接关系,所述控件信息中包括控件的层级;
生成模块,用于根据所述连接关系生成所述界面内的控件的树形结构,所述树形结构中显示有每一个控件的唯一标识;
第一获取模块,用于当获取所述界面内待测控件的逻辑位置时,根据所述树形结构获取所述待测控件的逻辑位置;
其中,所述装置还包括:
第二获取模块,用于预先执行脚本遍历所述界面内的控件得到所述界面内的控件的控件信息;
存储模块,用于按照控件层级数由小到大的顺序、且子控件优于同级控件排列的原则,将得到的所述控件信息存储在一个文件中;
所述关联模块包括:循环单元、判断单元、第一关联单元和第二关联单元;
所述循环单元,用于从所述文件中顺序读取所述界面内的控件的控件信息,且依次将读取的控件信息作为当前的控件信息,循环触发所述判断单元、第一关联单元和第二关联单元,直到所述文件中的控件信息读取完毕:
所述判断单元,用于根据所述当前的控件信息判断对应的当前控件是否层级为1;
所述第一关联单元,用于当所述判断单元判断出当前的控件信息对应的当前控件层级为1时,确定所述当前控件为根控件;
所述第二关联单元,用于当所述判断单元判断出当前的控件信息对应的当前控件层级不为1时,在已读取的控件信息中查找层级比所述当前控件的层级小1且位置最近的控件,将查找到的控件作为所述当前控件的父控件建立连接关系。
所述生成模块用于,根据所述连接关系,按照控件层级数由小到大的顺序、且子控件优于同级控件绘制的原则,绘制所述界面内的控件的树形结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210180795.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于涡轮机系统桨叶的冷却组件以及冷却方法
- 下一篇:用硬件实现指数运算的电路