在安卓客户端UI自动化过程中定位App首页的方法、装置和应用制造方法及图纸

技术编号:19023257 阅读:25 留言:0更新日期:2018-09-26 19:01
本发明专利技术涉及信息技术领域。在安卓客户端UI自动化过程中定位App首页的方法,包括下述步骤:第一次冷启动APP时,记录App首页的UI层级结构树并保存;当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。本发明专利技术的在安卓客户端UI自动化过程中定位App首页的方法及装置缩短UI自动化测试脚本执行时间,极大的提高了测试效率。

【技术实现步骤摘要】
在安卓客户端UI自动化过程中定位App首页的方法、装置和应用
本专利技术涉及信息
,尤其是一种在安卓客户端UI自动化过程中定位App首页的方法、装置和应用。
技术介绍
随着互联网测试行业的兴起,为了节约人力测试的成本,越来越多的自动化框架诞生,偏后端的接口自动化,偏客户端的UI自动化等。自动化的作用是:1.对程序的新版本运行已有的测试;2.可以执行一些手工测试困难或不可能做的测试;3.更好的利用资源;4.测试具有一致性和可重复性。目前UI自动化的测试框架也有很多,有关键字驱动的UI自动化框架,有录制屏幕来转化为UI自动化测试脚本,还有遍历各个页面层级关系生成测试路径等方法。目前的技术大多致力于整体框架的介绍,使用过程中提高UI自动化测试效率的技术不多。UI自动化测试中每次执行测试用例时都要冷启动APP,而冷启动APP需要几秒甚至十几秒甚至更慢,降低了测试效率。目前现有技术中有遍历各个界面生成各个界面节点层级关系的树状图,从而能得到遍历整个APP所有路径的方式,这种方式得到首页位置需要遍历APP内所有界面、得到界面层级之间的树状图定位到首页位置,不足是成本大。
技术实现思路
本专利技术的目的是为了解决UI自动化测试中每次执行测试用例时都要冷启动APP导致测试效率低的问题,提供一种在安卓客户端UI自动化过程中定位App首页的方法、装置和应用,第一个测试用例冷启动APP,剩下n-1条测试用例直接返回到首页起始点,缩短UI自动化测试脚本执行时间,自动化测试用例之间不用等待APP启动的时间。为了实现上述目的,本专利技术采用了以下技术方案:在安卓客户端UI自动化过程中定位App首页的方法,包括下述步骤:S1,第一次冷启动APP时,记录App首页的UI层级结构树并保存;S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。作为优选,记录首页完整的UI层级结构树并保存,以确保首页判断的准确性。作为优选,通过遍历当前界面的UI层级结构树和App首页的UI层级结构树进行对比,从根节点开始进行广度优先遍历,如果UI层级结构树不一致,认定当前界面不是首页;返回上一级界面再进行和App首页的UI层级结构树对比;进一步的,广度优先遍历是用队列来实现的,从树的第一层即根结点开始,从上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问。在安卓客户端UI自动化过程中定位App首页的装置,包括:记录模块,第一次冷启动APP时,记录模块用于记录App首页的UI层级结构树并保存;对比模块,当测试用例执行结束时,对比模块用于将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,并判断当前界面是否是App首页,如果当前界面不是App首页,返回上一级界面继续首页判断,直到定位App首页。UI自动化测试的方法,第一个测试用例冷启动APP,剩下n-1条测试用例直接返回App首页,定位App首页的方法如上述。通过本专利技术,解决了现有技术中UI自动化测试中每次执行测试用例时都要冷启动APP导致测试效率低的问题,本专利的在安卓客户端UI自动化过程中定位App首页的方法及装置缩短UI自动化测试脚本执行时间,自动化测试用例之间不用等待APP启动的时间,只用返回到首页就可以,极大的提高了测试效率。附图说明图1:本专利技术实施例的在安卓客户端UI自动化过程中定位App首页的方法流程图。图2:本专利技术实施例中测试用例执行结束时的当前界面是否是App首页判断的步骤流程图。图3:本专利技术实施例的在安卓客户端UI自动化过程中定位App首页的结构框图。具体实施方式下面结合图1、图2和图3对本专利技术做进一步描述。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。UI:即UserInterface用户界面的简称。在计算机科学中,树是一种抽象数据类型或是实作这种抽象数据类型的数据结构,用来模拟具树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View实现的,当然也包括我们后面一步一步引出的自定义控件也不例外,所以说这些View应该都具有相同的绘制流程与机制才能显示到屏幕上,因为他们都具备相同的父类View,可能每个控件的具体绘制逻辑有差异,但是主流程都是一样的。本专利的UI层级结构树,也就是Android的view树,是Android界面的各个元素层级结构、关联关系的一个抽象,为Android应用程序是靠这个view树的节点信息来加载出界面上的各个元素,从而展示出界面给用户看的。图1是本专利技术实施例的在安卓客户端UI自动化过程中定位App首页的方法流程图,如图1所示的在安卓客户端UI自动化过程中定位App首页的方法,包括下述步骤:S1,第一次冷启动APP时,记录首页完整的UI层级结构树并保存;S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过遍历当前界面的UI层级结构树和App首页的UI层级结构树进行对比,从根节点开始进行广度优先遍历,广度优先遍历是用队列来实现的,从树的第一层即根结点开始,从上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问;如果当前界面的UI层级结构树和App首页的UI层级结构树一致,证明当前界面是首页,如果不一致就不是首页,返回上一级界面继续进行App首页判断,直到定位App首页并返回。如图2所示,测试用例执行结束时的当前界面是否是App首页判断的步骤如下:步骤201,当测试用例执行结束时,提取测试用例执行结束时的当前界面的UI层级结构树信息;步骤202,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比;步骤2031,UI层级结构树一致,证明当前界面是首页;步骤2032,UI层级结构树不一致,证明当前界面不是首页,点击返回上一级界面提取该界面的UI层级结构树,继续进行App首页判断,直到定位App首页并返回。现有技术的遍历整个APP的所有界面得到首页位置,每个界面相当于是一个叶节点,得到这个树,根节点界面证明是首页,且没有做任何标记,无法重复利用。本专利的定位App首页的方法,只要第一次冷启动时候记录首页的UI层级结构树就可以拿到首页的标记元素,且运行自动化用例时候,不用遍历所有界面,只需要用例结束时所处的界面和首页对比,不符合就返回上一个界面,本文档来自技高网
...

【技术保护点】
1.在安卓客户端UI自动化过程中定位App首页的方法,其特征在于包括下述步骤:S1,第一次冷启动APP时,记录App首页的UI层级结构树并保存;S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。

【技术特征摘要】
1.在安卓客户端UI自动化过程中定位App首页的方法,其特征在于包括下述步骤:S1,第一次冷启动APP时,记录App首页的UI层级结构树并保存;S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。2.根据权利要求1所述的在安卓客户端UI自动化过程中定位App首页的方法,其特征在于记录首页完整的UI层级结构树并保存。3.根据权利要求1所述的在安卓客户端UI自动化过程中定位App首页的方法,其特征在于通过遍历当前界面的UI层级结构树和App首页的UI层级结构树进行对比,从根节点开始进行广度优先遍历,如果UI层级结构树不一致,认定当前界面不是首页;返回上一级界面再进行和App首...

【专利技术属性】
技术研发人员:肖美娇
申请(专利权)人:挖财网络技术有限公司
类型:发明
国别省市:浙江,33

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

1