一种对应用的用户界面ui进行测试的方法和装置的制造方法

文档序号:9844014阅读:574来源:国知局
一种对应用的用户界面ui进行测试的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种对应用的用户界面UI进行测试的方法和装置。
【背景技术】
[0002]现有技术中,对应用的用户界面UI进行测试的方案包括两种:一种是系统自带的Monkey测试方案,顾名思义,像一个猴子一样对应用的界面进行随机点击,由于点击过程完全是随机的,导致该方案能够点击到UI上真正的控件的概率是不大的,使得该方案很多时候都是在无意义地点击UI上没有控件的坐标位置,既浪费测试时间,也无法得到有意义的测试结果。另一种是自定义的UI测试方案,该方案不对应用的UI进行识别,只是在屏幕上做简单的点击和划动动作,该方案一方面存在与Monkey测试相同的测试效率低的问题,另一方面在遇到特殊的UI如引导页时,由于不知道引导页实际指示的滑动方向和效果,该方案容易卡在引导页中无法跳转到下一个UI。

【发明内容】

[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种对应用的用户界面UI进行测试的方法和相应的装置。依据本发明的一个方面,提供了一种对应用的用户界面UI进行测试的方法,该方法包括:
[0004]获取提交测试的应用,并启动所述应用;
[0005]对于所述应用的每个当前UI,识别该当前UI上的控件特征;
[0006]如果识别出该当前UI上控件特征,则触发该控件特征对应的控件,跳转到所述应用的下一个UI;
[0007]如果在该当前UI上没有识别出控件特征,则通过查询引导页数据库判断该当前UI是否为引导页,如果该当前UI是引导页则进一步从引导页数据库中获取该引导页的操作信息,根据获取的该引导页的操作信息在该当前UI上进行相应的操作,以跳过该引导页。
[0008]可选地,所述通过查询引导页数据库判断该当前UI是否为引导页包括:
[0009]获取所述应用的包名和当前Activity组件的类名;
[0010]以所述包名和Activity组件的类名作为索引查询所述引导页数据库,如果所述引导页数据库中存在包含相同包名和Activity组件的类名的条目,则判断当前UI是引导页;
[0011]其中,所述引导页数据库中对应保存了包名、Activity组件的类名和相应的操作
?目息O
[0012]可选地,所述引导页数据库位于服务器侧;
[0013]则所述通过查询引导页数据判断该当前UI是否为引导页包括:通过查询服务器侧的引导页数据判断该当前UI是否为引导页。
[0014]可选地,所述对于所述应用的每个当前UI,识别该当前UI上的控件特征包括:
[0015]获取所述应用的关于所述当前UI的源数据;
[0016]通过分析获取的源数据识别当前UI上的控件特征。
[0017]可选地,该方法进一步包括:
[0018]如果当前UI不是引导页,则查询经验列表;
[0019]判断当前UI中是否存在与经验列表中的任一项匹配的文字或字符串;
[0020]如果存在匹配项,则在当前UI中点击所匹配的文字或字符串,以尝试跳转到下一个UI。
[0021]可选地,该方法进一步包括:
[0022]查询经验列表后,还将所述应用添加到新应用统计列表中;
[0023]其中,运维人员对新应用统计列表中的应用的执行逻辑进行分析后,将该应用的引导页相关内容添加到所述引导页数据库中。
[0024]可选地,该方法进一步包括:
[0025]如果当前UI不是引导页,则将当前UI上的文字与协议特征列表进行匹配;
[0026]如果匹配,则判断当前UI是所述应用的协议页,在当前UI中的查找到同意该协议的控件并触发,以跳转到下一个UI。
[0027]可选地,所述如果识别出该当前UI上控件特征,则触发该控件特征对应的控件,跳转到所述应用的下一个UI包括:
[0028]如果识别出当前UI上的登录控件特征,则进一步确定当前UI上的登录信息输入框;
[0029]将提交所述应用的用户所提交的登录信息输入到所述登录信息输入框中;
[0030]进一步识别出当前UI中的确认登录控件并触发。
[0031]可选地,该方法进一步包括:
[0032]对提交测试的各应用进行分类;
[0033]根据分类结果,确定所述引导页数据库的需要补充的内容;
[0034]获取所述需要补充的内容,添加到所述引导页数据库中。
[0035]可选地,该方法进一步包括:
[0036]记录在所述应用的每个UI上的执行操作和执行的结果,生成测试报告。
[0037]依据本发明的另一个方面,提供了一种对应用的用户界面UI进行测试的装置,该装置包括:
[0038]获取单元,适于获取提交测试的应用,并启动所述应用;
[0039]控件特征识别单元,适于对于所述应用的每个当前UI,识别该当前UI上的控件特征;
[0040]测试执行单元,适于当所述控件特征识别单元识别出该当前UI上控件特征时,触发该控件特征对应的控件,跳转到所述应用的下一个UI;当所述控件特征识别单元在该当前UI上没有识别出控件特征时,通过查询引导页数据库判断该当前UI是否为引导页,如果该当前UI是引导页则进一步从引导页数据库中获取该引导页的操作信息,根据获取的该引导页的操作信息在该当前UI上进行相应的操作,以跳过该引导页
[0041 ]存储单元,适于保存引导页数据库。
[0042]可选地,所述测试执行单元,适于获取所述应用的包名和当前Acti vity组件的类名,以所述包名和Activity组件的类名作为索引查询所述引导页数据库,如果所述引导页数据库中存在包含相同包名和Activity组件的类名的条目,则判断当前UI是引导页;
[0043]其中,所述引导页数据库中对应保存了包名、Activity组件的类名和相应的操作
?目息O
[0044]可选地,所述存储单元位于服务器侧;
[0045]则所述测试执行单元,适于通过查询服务器侧的存储单元中的引导页数据判断该当前UI是否为引导页。
[0046]可选地,所述控件特征识别单元,适于获取所述应用的关于所述当前UI的源数据,通过分析获取的源数据识别当前UI上的控件特征。
[0047]可选地,所述存储单元,进一步适于保存经验列表;
[0048]所述测试执行单元,进一步适于在当前UI不是引导页时,查询经验列表,判断当前UI中是否存在与经验列表中的任一项匹配的文字或字符串,如果存在匹配项,则在当前UI中点击所匹配的文字或字符串,以尝试跳转到下一个UI。
[0049]可选地,所述测试执行单元,进一步适于在查询经验列表后,将所述应用添加到新应用统计列表中;
[0050]其中,运维人员对新应用统计列表中的应用的执行逻辑进行分析后,将该应用的引导页相关内容添加到所述引导页数据库中。
[0051 ]可选地,所述存储单元,进一步适于保存协议特征列表;
[0052]所述测试执行单元,进一步适于在当前UI不是引导页时,将当前UI上的文字与协议特征列表进行匹配;如果匹配,则判断当前UI是所述应用的协议页,在当前UI中的查找到同意该协议的控件并触发,以跳转到下一个UI。
[0053]可选地,所述测试执行单元,适于当所述控件特征识别单元识别出当前UI上的登录控件特征时,进一步确定当前UI上的登录信息输入框;将提交所述应用的用户所提交的登录信息输入到所述登录信息输入框中;并进一步识别出当前UI中的确认登录控件并触发。
[0054]可选地,该装置进一步包括:
[0055]应用分类单元,适于对提交测试的各应用进行分类;根据分类结果,确定所述引导页数据库的需要补充的内容;获取所述需要补充的内容,添加到所述引导页数据库中。
[0056]可选地,该装置进一步包括:
[0057]报告生成单元,适于记录在所述应用的每个UI上的执行操作和执行的结果,生成测试报告。
[0058]由上述可知,本发明提供的技术方案在对应用的UI进行测试时,先识别当前UI上的控件特征,根据识别结果对当前UI上的控件进行针对性地触发,当没有识别出当前UI上的控件特征时,再通过查询引导页数据库获取对应于当前UI是引导页的操作信息以进行相应的操作。与现有技术中通过对UI进行随机盲目触发以完成测试的方案相比,本方案实现了智能地根据UI中的控件特征对UI中的控件进行针对性地触发测试,能够大大提高测试的有效性和可靠性,节省测试时间成本;并且,对于一些无法识别的UI自定义控件特征,进一步提出了通过数据库匹配的方式获取其对应的操作,有效地解决了对UI尤其是引导页的UI进行测试的问题。
[0059]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0060]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0061]图1示出了根据本发明一个实施例的一种对应用的用户界面UI进行测试的方法流程图;
[0062]图2示出了根据本发明一个实施例的一种对应用的用户界面UI进行测试的装置示意图;
[0063]图3示出了根据本发明另一个实施例的一种对应用的用户界面UI进行测试的装置示意图。
【具体实施方式】
[0064]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1