一种安卓应用ui控件精准遍历方法和装置的制造方法

文档序号:9708232阅读:388来源:国知局
一种安卓应用ui控件精准遍历方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种安卓应用UI控件精准遍历方法和一种安卓应用UI控件精准遍历装置。
【背景技术】
[0002]随着智能手机的发展,出现了多种支持智能手机的系统。比如Android(安卓)系统。Android是一种以Linux为基础的开放源码操作系统,主要使用于手机等移动终端。Android平台由操作系统、中间件、用户界面和应用软件组成。
[0003]随着Android系统的市场占有率的增加,越来越多的开发者基于Android系统开发APP(Applicat1n,应用),使用户使用Android手机更方便。对于开发者而言,在将一个应用提供给用户使用之前,需要测试应用中各UKUser Interface,用户界面)控件的性能,以保证应用的性能良好,因此,在测试过程中需要对每个UI控件都测试到,即实现对UI控件的遍历。
[0004]目前已有的遍历技术都是基于Android系统提供的测试工具,如Instrumentat1n进行实现,首先需要对被测应用进行预处理,主要内容就是生成一个针对被测应用的测试应用,再使用同一签名将测试应用和被测试应用进行签名,然后将被测试应用和测试应用都安装到手机上,然后利用Android Instrumentat1n的启动方式启动测试。但是上述的方法必须先获取到被测软件的安装文件并进行预处理,操作繁琐,对于手机已经装好的应用则无法实现遍历操作,适用性不强,对UI界面是随机无序点击,对功能的检测能力较弱,而且不能进行测试策略设置,导致用户主动干预程度较低。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种安卓应用UI控件精准遍历方法和相应的安卓应用UI控件精准遍历装置。
[0006]依据本发明的一个方面,提供了一种安卓应用UI控件精准遍历方法,包括:
[0007]由测试进程在监控到目标应用启动后,获取Activity桟顶的Activity对象的Activity 名称;
[0008]根据所述Activity名称,从策略库中获取对应所述Activity的点击条件策略;
[0009]根据所述点击条件策略,对所述Activity对象中的各UI控件进行点击操作;
[0010]根据所述点击操作记录测试结果并输出。
[0011]优选地,所述点击条件策略包括:
[0012]禁止测试的UI控件、允许点击的UI控件。
[0013]优选地,所述点击条件策略包括:递归点击策略;
[0014I进一步的,所述根据所述点击条件策略,对所述Activity对象中的各UI控件进行点击操作的步骤,包括:
[00?5]根据所述递归点击策略,判断当前Activity对象的各UI控件,以及当前Activity对象的下面各级Ac t i V i ty对象的各UI控件是否被点击完毕;
[0016]如果点击完毕,则触发当前Activity对象的上一级Activity对象到Activity桟顶;
[0017]如果未点击完毕,则对还未点击的UI控件进行点击操作。
[0018]优选地,在由测试进程在监控到目标应用启动之前,还包括:
[0019]在系统启动时,将系统自带的初始孵化进程替换为预定的第一孵化进程;
[0020]通过所述第一孵化进程启动所述测试进程并加载所述策略库。
[0021]优选地,所述根据所述Activity名称,从策略库中获取对应所述Activity的点击条件策略的步骤,包括:
[0022]根据目标应用的应用进程名称,确定策略库中对应所述目标应用的各点击条件策略。
[0023]优选地,在由测试进程在监控到目标应用启动之前,还包括:
[0024]通过UI Automator工具获取目标应用程序的各Activity对象及其UI控件的快照;
[0025]基于每个Activity对象及其UI控件的快照,为各个Activity对象配置点击条件策略;
[0026]以目标应用的应用进程名称将各Activity对象的条件策略存入策略库。
[0027]根据本发明的另一方面,提供了一种安卓应用UI控件精准遍历装置,包括:
[0028]Activity名称获取模块,适于由测试进程在监控到目标应用启动后,获取Acti vity 桟顶的 Acti vity 对象的 Acti vity 名称;
[0029]点击条件策略获取模块,适于根据所述Activity名称,从策略库中获取对应所述Activity的点击条件策略;
[0030]点击操作执行模块,适于根据所述点击条件策略,对所述Activity对象中的各UI控件进行点击操作;
[0031 ]测试结果输出模块,适于根据所述点击操作记录测试结果并输出。
[0032]优选地,所述点击条件策略包括:
[0033]禁止测试的UI控件、允许点击的UI控件。
[0034]优选地,所述点击条件策略包括:递归点击策略;
[0035]进一步的,所述点击操作执行模块,包括:
[0036]判断子模块,适于根据所述递归点击策略,判断当前Activity对象的各UI控件,以及当前Activity对象的下面各级Activity对象的各UI控件是否被点击完毕;如果点击完毕,则进入触发子模块;如果未点击完毕,则进入点击操作执行子模块;
[0037]触发子模块,适于触发当前Activity对象的上一级Activity对象到Activity桟顶;
[0038]点击操作执行子模块,适于对还未点击的UI控件进行点击操作。
[0039]优选地,在Activity名称获取模块之前,还包括:
[0040]孵化进程替换模块,适于在系统启动时,将系统自带的初始孵化进程替换为预定的第一孵化进程;
[0041]启动加载模块,适于通过所述第一孵化进程启动所述测试进程并加载所述策略库。
[0042]优选地,所述点击条件策略获取模块,包括:
[0043]点击条件策略确定子模块,适于根据目标应用的应用进程名称,确定策略库中对应所述目标应用的各点击条件策略。
[0044]优选地,在Activity名称获取模块之前,还包括:
[0045]快照获取模块,适于通过UI Automator工具获取目标应用程序的各Activity对象及其UI控件的快照;
[0046]点击条件策略配置模块,适于基于每个Activity对象及其UI控件的快照,为各个Activity对象配置点击条件策略;
[0047]条件策略存入模块,适于以目标应用的应用进程名称将各Activity对象的条件策略存入策略库。
[0048]根据本发明的另一方面,提供了一种安卓目标应用崩溃统计设备,包括:
[0049]存储器,加载有多条可执行指令;
[0050]处理器,执行所述多条可执行指令;所述多条可执行指令包括执行以下步骤的方法:
[0051]由测试进程在监控到目标应用启动后,获取Activity桟顶的Activity对象的Activity 名称;
[0052]根据所述Activity名称,从策略库中获取对应所述Activity的点击条件策略;
[0053]根据所述点击条件策略,对所述Activity对象中的各UI控件进行点击操作;
[0054]根据所述点击操作记录测试结果并输出。
[0055]根据本发明的一种安卓应用UI控件精准遍历方法可以由测试进程在监控到目标应用启动后,获取Activity桟顶的Acti vity对象的Activity名称,根据所述Acti vity名称,从策略库中获取对应所述Activity的点击条件策略,根据所述点击条件策略,对所述Activity对象中的各UI控件进行点击操作,根据所述点击操作记录测试结果并输出。由此解决了必须先获取到被测软件的安装文件并进行预处理,操作繁琐,对于手机已经装好的应用则无法实现遍历操作,适用性不强,对UI界面是随机无序点击,对功能的检测能力较弱,而且不能进行测试策略设置,导致用户主动干预程度较低,取得了可以对Android系统中全部应用进行遍历操作,提高了适用性,同时可以人工预置对UI界面的点击方案,提高了人工干预程度且功能检测能力的有益效果。
[0056]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0057]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0058]图1示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历方法实施例的步骤流程图;
[0059]图2示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历方法实施例的步骤流程图;
[0060]图3示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历方法实施例的步骤流程图;
[0061]图4示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历装置实施例的结构框图;
[0062]图5示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历装置实施例的结构框图;
[0063]图6示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历装置实施例的结构框图;及
[0064]图7示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历设备实施例的结构框图。
【具体实施方式】
[0065]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0066]实施例一
[0067]参照图1,示出了根据本发明一个实施例的一种安卓应用UI控件精准遍历方法实施例的步骤流程图,具体可以包括如下步骤:
[0068]步骤110,由测试进程在监控到目标应用启动后,获取Activity桟
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1