[发明专利]用户界面元素对象识别及自动化测试的方法和装置在审
| 申请号: | 201410217157.X | 申请日: | 2014-05-21 |
| 公开(公告)号: | CN105095067A | 公开(公告)日: | 2015-11-25 |
| 发明(设计)人: | 王艳丽;石峰 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京华沛德权律师事务所 11302 | 代理人: | 刘杰 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用户界面 元素 对象 识别 自动化 测试 方法 装置 | ||
技术领域
本发明涉及用户界面测试技术,具体涉及一种用户界面元素对象识别及自动化测试的方法和装置。
背景技术
UI(UserInterface,用户界面)自动化测试的任务是找到页面元素对象并获取元素对象的基本属性及方法,然后模拟人工测试步骤对元素对象进行操作。UI自动化测试分为三个部分:页面元素的识别与定位、元素信息获取、业务逻辑自动化。目前,UI自动化测试过程中对元素信息获取和业务逻辑自动化两部分都已经有比较好的技术支持,但页面元素的识别与定位仍然需要人工来完成,致使UI自动化测试无法形成通用的工具,也就无法实现真正的自动化。
因此,自动识别与定位页面元素,自动构建页面元素对象库,以保证UI功能测试形成一个良性的闭环,是目前UI自动化测试的一项重要挑战。
现有技术中,HTML(HypertextMarkupLanguage,超文本标记语言)Parser是一个纯的Java写的HTML解析的库,是一种主要用于html网页转换以及网页内容抽取的技术。HTMLParser是通过一个URL(UniformResourceLocator,统一资源定位符)地址或一个保存有网页内容的字符串来初始化解析器对象,或者使用静态函数来生成一个解析器对象。解析器对象的存储结构为一树型结构,树中节点Node是信息保存的数据类型基础。HTMLParser对解析器对象中的每一个节点Node按照深度优先算法进行遍历,在遍历的过程中通过Filter或Visitor两种方法提取网页特定节点,其中,Filter是根据特定条件过滤提取出需要的节点再进行处理,Visitor则是遍历内容树的每一个节点对于符合条件的节点进行处理。
发明人在实现本发明过程中发现,现有技术HTMLParser至少存在以下缺点:
1)以节点为数据类型基础存储页面元素,在使用元素时,需要先根据条件对元素进行过滤,得到所需元素对象,然后才能进行属性信息的获取和操作元素。该过程不能快速的识别元素的类型,以获取指定类型的元素属性信息并对元素进行操作。
2)定位元素对象是通过元素的唯一的属性信息进行的。对于HTML页面来说,元素的基本属性中只有其ID值是唯一的,但现实中很多页面元素无此属性(ID值),这导致精准的定位每一个元素比较困难,很容易出现元素无法定位的情况。
3)只支持对HTML页面的解析,并没有构建对象库的逻辑。
依上述描述可见,现有技术HTMLParser无法有效的完成页面元素的自动识别与定位,以及无法自动构建页面元素对象库,因此无法实现真正的UI自动化测试。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用户界面元素对象识别及自动化测试的方法和相应的用户界面元素对象识别及自动化测试的装置。
依据本发明的第一个方面,提供了一种用户界面自动化测试的方法,其包括:对用户界面进行解析,获取元素对象的属性信息;根据设定分类规则对所述元素对象进行分类,以确定所述元素对象的类别;存储分类后的所述元素对象,完成用户界面元素对象识别。
依据本发明的第二个方面,提供了一种实现用户界面元素对象识别装置,其包括:解析获取单元,适于对用户界面进行解析,获取元素对象的属性信息;分类单元,适于根据设定分类规则对所述获取的元素对象进行分类,以确定所述元素对象的类别;存储单元,适于存储分类后的所述元素对象,完成用户界面元素对象识别。
依据本发明的第三个方面,提供了一种用户界面自动化测试的方法,其包括:对用户界面进行解析,获取元素对象的属性信息;根据设定分类规则对所述元素对象进行分类存储,得到用户界面元素对象的原始对象库;按照设定规则将所述原始对象库转换成与用户界面自动化框架匹配的子对象库;利用所述子对象库生成可执行的Java页面类代码;根据测试逻辑设计代码逻辑,操作所述可执行的Java页面类,执行用户界面自动化测试。
依据本发明的第四个方面,提供了一种用户界面自动化测试的装置,其包括:解析获取单元,适于对用户界面进行解析,获取元素对象的属性信息;分类存储单元,适于根据设定分类规则对所述获取的元素对象进行分类存储,得到用户界面元素对象的原始对象库;转换单元,适于按照设定规则将所述原始对象库转换成与用户界面自动化框架匹配的子对象库;代码生成单元,适于利用所述子对象库生成可执行的Java页面类代码;测试单元,适于根据测试逻辑设计代码逻辑操作所述可执行的Java页面类,执行用户界面自动化测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410217157.X/2.html,转载请声明来源钻瓜专利网。





