应用用户界面的遍历测试装置及方法制造方法及图纸

技术编号:14339708 阅读:34 留言:0更新日期:2017-01-04 12:14
本发明专利技术公开了一种应用用户界面的遍历测试装置,包括:获取模块,用于获取当前目标用户界面的控件树;遍历模块,用于对控件树所对应的各控件进行遍历,并生成当前目标用户界面上可发生的若干用户动作;模拟模块,用于模拟执行用户动作,并对模拟执行用户动作后所对应的第一用户界面进行截图;任务栈模块,用于当第一用户界面中存在与当前目标用户界面不同的若干第二用户界面时,将第二用户界面加入任务栈中;获取模块还用于:获取任务栈的栈顶所对应的用户界面,并将该用户界面作为当前目标用户界面。本发明专利技术还公开了一种应用用户界面的遍历测试方法。本发明专利技术能够提升用户界面遍历测试的自动化程度和用户界面的覆盖率,进而提高测试效果。

【技术实现步骤摘要】

本专利技术涉及应用测试
,尤其涉及应用用户界面的遍历测试装置及方法
技术介绍
随着移动互联网的发展,Android应用数量迅速增长,但由于Android系统的开放性以及缺乏严格的审查,从而导致Android应用的质量偏低,进而使得在用户使用应用的过程中,可能会出险崩溃、无响应、运行缓慢等问题。因此,为保证Android应用的安全性与稳定性,需要对应用的用户界面进行分析和测试。现有测试技术中,对Android应用的用户界面进行测试的工具很多,例如MonkeyRunner、Robotium、Uiautomator等都可以通过模拟用户动作,进而使用户界面发生变化,但要实现对用户界面的自动化遍历仍有以下的不足:1)、模拟用户动作需要测试开发人员编写测试脚本;2)、不能实现用户界面的自动转换。因此,现有测试技术中,对于应用的用户界面遍历测试的自动化程度和用户界面的覆盖率较低,进而使得测试效果不佳。
技术实现思路
本专利技术的主要目的在于提供一种应用用户界面的遍历测试装置及方法,旨在解决现有测试技术中,对于应用的用户界面遍历测试的自动化程度和用户界面的覆盖率较低,进而使得测试效果不佳的技术问题。为实现上述目的,本专利技术提供一种应用用户界面的遍历测试装置,所述应用用户界面的遍历测试装置包括:获取模块,用于获取当前目标用户界面的控件树,所述控件树至少包括当前目标用户界面上显示的所有控件的相关信息;遍历模块,用于根据所述相关信息,对当前目标用户界面上显示的各控件进行遍历,并生成当前目标用户界面上可发生的若干用户动作;模拟模块,用于模拟执行所述用户动作,并对模拟执行所述用户动作后所对应的第一用户界面进行截图;任务栈模块,用于当所述第一用户界面中存在与当前目标用户界面不同的若干第二用户界面时,将所述第二用户界面加入任务栈中;所述获取模块还用于:获取所述任务栈的栈顶所对应的用户界面,并将该用户界面作为当前目标用户界面,其中,所述获取模块直至所述任务栈为空或满足预置停止条件时停止获取。可选的,所述相关信息至少包括当前用户界面上显示的所有控件的层次结构信息、单个控件的属性及属性值;所述遍历模块包括:遍历单元,用于根据所述层次结构信息,对当前目标用户界面上显示的各控件进行遍历,并在遍历控件时,根据该控件的属性及属性值,判断通过该控件是否可发生用户动作;生成单元,用于若通过该控件可发生用户动作,则根据该控件的属性及属性值,或者还根据与该控件相关的其他相关控件的属性及属性值,生成通过该控件可发生的用户动作。可选的,所述遍历单元具体用于:根据该控件的属性及属性值,判断该控件是否具有可点击属性且可点击属性值为真,若是,则确定通过该控件可发生用户动作,其中,若该控件与其他控件存在关联关系,则确定通过该控件可发生复合用户动作,若该控件与其他控件不存在关联关系,则确定通过该控件可发生单一用户动作;所述生成单元具体用于:若通过该控件可发生复合用户动作,则根据该控件的属性及属性值,以及根据与该控件相关联的其他相关控件的属性及属性值,生成通过该控件可发生的复合用户动作;或,若通过该控件可发生单一用户动作,则根据该控件的属性及属性值,生成通过该控件可发生的单一用户动作。可选的,所述应用用户界面的遍历测试装置还包括:预处理模块,用于解析待测试应用程序安装包中的应用配置文件,以获取该待测试应用程序的安装启动信息;根据所述安装启动信息,安装并启动该待测试应用程序。可选的,所述模拟模块还用于:按照各用户界面之间的层级关系,保存对应用户界面的截图,并在遍历测试结束后将保存的截图发送至外部设备进行处理。进一步地,为实现上述目的,本专利技术还提供一种应用用户界面的遍历测试方法,所述应用用户界面的遍历测试方法包括步骤:S1、获取当前目标用户界面的控件树,所述控件树至少包括当前目标用户界面上显示的所有控件的相关信息;S2、根据所述相关信息,对当前目标用户界面上显示的各控件进行遍历,并生成当前目标用户界面上可发生的若干用户动作;S3、模拟执行所述用户动作,并对模拟执行所述用户动作后所对应的第一用户界面进行截图;S4、当所述第一用户界面中存在与当前目标用户界面不同的若干第二用户界面时,将所述第二用户界面加入任务栈中;S5、获取所述任务栈的栈顶所对应的用户界面,并将该用户界面作为当前目标用户界面,执行步骤S1-S5,直至所述任务栈为空或满足预置停止条件时退出。可选的,所述相关信息至少包括当前用户界面上显示的所有控件的层次结构信息、单个控件的属性及属性值;所述根据所述相关信息,对当前目标用户界面上显示的各控件进行遍历,并生成当前目标用户界面上可发生的若干用户动作包括:根据所述层次结构信息,对当前目标用户界面上显示的各控件进行遍历,并在遍历控件时,根据该控件的属性及属性值,判断通过该控件是否可发生用户动作;若通过该控件可发生用户动作,则根据该控件的属性及属性值,或者还根据与该控件相关的其他相关控件的属性及属性值,生成通过该控件可发生的用户动作。可选的,所述根据该控件的属性及属性值,判断通过该控件是否可发生用户动作包括:根据该控件的属性及属性值,判断该控件是否具有可点击属性且可点击属性值为真,若是,则确定通过该控件可发生用户动作,其中,若该控件与其他控件存在关联关系,则确定通过该控件可发生复合用户动作,若该控件与其他控件不存在关联关系,则确定通过该控件可发生单一用户动作;所述若通过该控件可发生用户动作,则根据该控件的属性及属性值,或者还根据与该控件相关的其他相关控件的属性及属性值,生成通过该控件可发生的用户动作包括:若通过该控件可发生复合用户动作,则根据该控件的属性及属性值,以及根据与该控件相关联的其他相关控件的属性及属性值,生成通过该控件可发生的复合用户动作;或,若通过该控件可发生单一用户动作,则根据该控件的属性及属性值,生成通过该控件可发生的单一用户动作。可选的,所述获取当前目标用户界面的控件树之前包括步骤:解析待测试应用程序安装包中的应用配置文件,以获取该待测试应用程序的安装启动信息;根据所述安装启动信息,安装并启动该待测试应用程序。可选的,所述应用用户界面的遍历测试方法还包括:按照各用户界面之间的层级关系,保存对应用户界面的截图,并在遍历测试结束后将保存的截图发送至外部设备进行处理。本专利技术中,通过获取当前用户界面上的控件树,进而完成对当前用户界面上显示的各控件的访问,并在访问控件过程中模拟控件所对应的用户动作,进而完成对当前用户界面的测试并截图,同时,考虑到模拟用户动作可能会产生新的用户界面,因此,对每一用户界面以及通过模拟用户动作而新产生的新的用户界面进行循环遍历,进而提高用户界面遍历测试的自动化程度,同时也提升对用户界面的遍历测试覆盖率,从而提高用户界面遍历测试效果。附图说明图1为本专利技术应用用户界面的遍历测试装置第一实施例的模块示意图;图2为图1中遍历模块一实施例的模块示意图;图3为本专利技术应用用户界面的遍历测试装置中用户界面一实施例的示意图;图4为图3中用户界面所对应的控件树一实施例的示意图;图5为本专利技术应用用户界面的遍历测试装置第二实施例的模块示意图;图6为本专利技术应用用户界面的遍历测试方法第一实施例的流程示意图;图7为图6中步骤S2一实施例的流程示意图;图8为本本文档来自技高网...
应用用户界面的遍历测试装置及方法

【技术保护点】
一种应用用户界面的遍历测试装置,其特征在于,所述应用用户界面的遍历测试装置包括:获取模块,用于获取当前目标用户界面的控件树,所述控件树至少包括当前目标用户界面上显示的所有控件的相关信息;遍历模块,用于根据所述相关信息,对当前目标用户界面上显示的各控件进行遍历,并生成当前目标用户界面上可发生的若干用户动作;模拟模块,用于模拟执行所述用户动作,并对模拟执行所述用户动作后所对应的第一用户界面进行截图;任务栈模块,用于当所述第一用户界面中存在与当前目标用户界面不同的若干第二用户界面时,将所述第二用户界面加入任务栈中;所述获取模块还用于:获取所述任务栈的栈顶所对应的用户界面,并将该用户界面作为当前目标用户界面,其中,所述获取模块直至所述任务栈为空或满足预置停止条件时停止获取。

【技术特征摘要】
1.一种应用用户界面的遍历测试装置,其特征在于,所述应用用户界面的遍历测试装置包括:获取模块,用于获取当前目标用户界面的控件树,所述控件树至少包括当前目标用户界面上显示的所有控件的相关信息;遍历模块,用于根据所述相关信息,对当前目标用户界面上显示的各控件进行遍历,并生成当前目标用户界面上可发生的若干用户动作;模拟模块,用于模拟执行所述用户动作,并对模拟执行所述用户动作后所对应的第一用户界面进行截图;任务栈模块,用于当所述第一用户界面中存在与当前目标用户界面不同的若干第二用户界面时,将所述第二用户界面加入任务栈中;所述获取模块还用于:获取所述任务栈的栈顶所对应的用户界面,并将该用户界面作为当前目标用户界面,其中,所述获取模块直至所述任务栈为空或满足预置停止条件时停止获取。2.如权利要求1所述的应用用户界面的遍历测试装置,其特征在于,所述相关信息至少包括当前用户界面上显示的所有控件的层次结构信息、单个控件的属性及属性值;所述遍历模块包括:遍历单元,用于根据所述层次结构信息,对当前目标用户界面上显示的各控件进行遍历,并在遍历控件时,根据该控件的属性及属性值,判断通过该控件是否可发生用户动作;生成单元,用于若通过该控件可发生用户动作,则根据该控件的属性及属性值,或者还根据与该控件相关的其他相关控件的属性及属性值,生成通过该控件可发生的用户动作。3.如权利要求2所述的应用用户界面的遍历测试装置,其特征在于,所述遍历单元具体用于:根据该控件的属性及属性值,判断该控件是否具有可点击属性且可点击属性值为真,若是,则确定通过该控件可发生用户动作,其中,若该控件与其他控件存在关联关系,则确定通过该控件可发生复合用户动作,若该控件与其他控件不存在关联关系,则确定通过该控件可发生单一用户动作;所述生成单元具体用于:若通过该控件可发生复合用户动作,则根据该控件的属性及属性值,以及根据与该控件相关联的其他相关控件的属性及属性值,生成通过该控件可发生的复合用户动作;或,若通过该控件可发生单一用户动作,则根据该控件的属性及属性值,生成通过该控件可发生的单一用户动作。4.如权利要求1-3中任一项所述的应用用户界面的遍历测试装置,其特征在于,所述应用用户界面的遍历测试装置还包括:预处理模块,用于解析待测试应用程序安装包中的应用配置文件,以获取该待测试应用程序的安装启动信息;根据所述安装启动信息,安装并启动该待测试应用程序。5.如权利要求4所述的应用用户界面的遍历测试装置,其特征在于,所述模拟模块还用于:按照各用户界面之间的层级关系,保存对应用户界面的截图,并在遍历测试结束后将保存的截图发送至外部设备进行处理。6.一种应用用户界面的遍历测试方法,其特征在于,所述应用用户界面的遍历测试方法包括步骤:S1、获取当前...

【专利技术属性】
技术研发人员:王浩
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东;44

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

1