应用程序用户界面的获取方法和装置制造方法及图纸

技术编号:12817848 阅读:40 留言:0更新日期:2016-02-07 10:22
本发明专利技术公开了一种应用程序用户界面的获取方法和装置。其中,获取方法包括:确定步骤:确定应用程序的当前界面;遍历步骤:遍历地将触发指令下发至当前界面上的每个目标区域;每下发触发指令至一个目标区域后,获取一次触发指令对当前界面进行操作后的子界面;对比子界面与子界面的父界面,以确定子界面的类型;在确定出子界面的类型为第一类型的情况下,返回遍历步骤;在确定出子界面的类型为第二类型的情况下,确定子界面为当前界面,并返回遍历步骤。通过本发明专利技术,解决了现有技术中应用程序用户界面的获取方案的通用性较低的技术问题,进而达到了提高用户界面获取方案的通用性的效果。

【技术实现步骤摘要】

本专利技术涉及用户界面领域,具体而言,涉及一种应用程序用户界面的获取方法和 目-Ο
技术介绍
在国际化手机游戏客户端测试中,需要对引用程序每个界面进行用户界面(UserInterface,简称UI)检查,这项检查需要人工进行重复、繁琐的操作,操作过程中容易造成场景遗漏。目前,有一种使用robotium框架,在有源码的情况下对应用程序的界面进行获取,不过此种检查方式必须人工指定测试路径,并且无法对所有程序通用。在无源码的情况下,目前已有的测试框架均只支持标准控件的检测,对手机游戏这类以自绘控件为主的程序并不适用,使得现有的获取用户界面的方案的通用性较低。针对相关技术中应用程序用户界面的获取方案的通用性较低的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种应用程序用户界面的获取方法和装置,以至少解决现有技术中应用程序用户界面的获取方案的通用性较低的技术问题。根据本专利技术实施例的一个方面,提供了一种应用程序用户界面的获取方法。根据本专利技术实施例的应用程序用户界面的获取方法包括:确定步骤:确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历步骤:遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取步骤:每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比步骤:对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回步骤:在确定出所述子界面的类型为第一类型的情况下,返回所述遍历步骤,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回步骤:在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历步骤,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。根据本专利技术实施例的一个方面,提供了一种应用程序用户界面的获取装置。根据本专利技术实施例的应用程序用户界面的获取装置包括:确定单元,用于确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历单元,用于遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取单元,用于每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比单元,用于对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回单元,用于在确定出所述子界面的类型为第一类型的情况下,返回所述遍历单元,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回单元,用于在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历单元,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。在本专利技术实施例中,采用确定步骤:确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历步骤:遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取步骤:每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比步骤:对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回步骤:在确定出所述子界面的类型为第一类型的情况下,返回所述遍历步骤,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回步骤:在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历步骤,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。通过遍历地将触发指令下发至当前界面上的每个目标区域,实现了模拟人工对应用程序界面上的控件进行逐个点击,并获取点击后的用户界面,将得到的界面与已有界面进行比较、排重、建立父子关系,逐步得到被测试应用程序的UI树,UI树中的每个节点代表应用程序的一个界面,实现了在遍历下发触发指令的过程中得到应用程序的用户界面。此种基于下发触发指令至目标区域的界面获取方案,既不依赖源代码,也不依赖标准控制,实现了在只有APK的情况下即可对应用程序上的控件进行操作,对所有应用程序都具有通用性,解决了现有技术中应用程序用户界面的获取方案的通用性较低的技术问题,进而达到了提高用户界面获取方案的通用性的效果。【附图说明】此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是应用本专利技术实施例的应用程序用户界面的获取方法的硬件环境图;图2是根据本专利技术实施例的应用程序用户界面的获取方法的流程图;图3是根据本专利技术优选实施例的应用程序用户界面的获取方法的流程图;图4是根据本专利技术实施例的应用程序用户界面的获取装置的示意图;图5是根据本专利技术优选实施例的应用程序用户界面的获取装置的示意图;以及图6是实施本专利技术实施例的应用程序用户界面的获取方法的终端的示意图。【具体实施方式】为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。对本专利技术实施例中所涉及的技术术语做如下解释:U1:即 User Interface (用户界面)的简称;UiAutomator:JAVA类库,包含一些自定义的UI功能测试,用以自动化和跑testcase的引擎;APK:AndroidPackage 的缩写,即 Android 安装包。实施例1根据本专利技术实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行本文档来自技高网
...

【技术保护点】
一种应用程序用户界面的获取方法,其特征在于,包括:确定步骤:确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历步骤:遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取步骤:每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比步骤:对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回步骤:在确定出所述子界面的类型为第一类型的情况下,返回所述遍历步骤,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回步骤:在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历步骤,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。

【技术特征摘要】

【专利技术属性】
技术研发人员:林晨黄永德陈晓霞
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1