应用于安卓系统的自动化测试方法及系统的制作方法

文档序号:8905174阅读:829来源:国知局
应用于安卓系统的自动化测试方法及系统的制作方法
【技术领域】
[0001]本发明涉及软件系统测试技术领域,尤其是涉及应用于安卓系统的自动化测试方法及系统。
【背景技术】
[0002]现有安卓系统(android)的自动化测试有Monkey测试,它是一种随机的测试工具,无法根据测试人员自定义的方法进行操作。
[0003]现有谷歌的Uiautomator自动化测试可以根据测试人员自定义的步骤进行测试,但需要用户手动编写测试代码进行操作,测试方法不敏捷。

【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供应用于安卓系统的自动化测试方法及系统,结合控件录制技术等实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。
[0005]为实现上述目标及其他相关目标,本发明提供一种应用于安卓系统的自动化测试方法,包括:记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试。
[0006]可选的,所述操作界面包括:将移动终端的交互界面通过投影生成的投影界面。
[0007]可选的,所述根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息,包括:以所述操作界面为坐标平面,获取所记录的操作对应位置的坐标数据;根据接受所述操作时的操作界面的界面布局文件,获取其中的各待选控件;从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件。
[0008]可选的,所述从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件,包括:通过两点坐标定义矩阵范围来显示每个所述待选控件,所述两点包括:左上点及右下点;筛选出所述操作的坐标数据落入在内且矩阵范围最小的待选控件作为所述目标控件。
[0009]可选的,所述操作有多个,每个操作对应一目标控件,每个操作对应的目标控件均具有有各自的唯一屈性。
[0010]可选的,所述的应用于安卓系统的自动化测试方法,包括:将与各个操作对应的目标控件信息记录在控件脚本中。
[0011]可选的,所述屈性包括:文本标签屈性、资源ID屈性及内容描述屈性中的一种。
[0012]可选的,所述运行所述目标控件以完成自动测试,包括:获取所述控件脚本;按照所述控件脚本所记录各目标控件的屈性,在已存储于安卓系统内的各目标控件中逐一筛选屈性匹配的待执行控件;在屈性匹配的情况下,判断该屈性匹配的待执行控件是否存在于所述接受所述操作时的操作界面的界面布局文件中;若存在,则运行该待执行控件以执行对应操作;若不存在,则结束所述控件脚本;在所述控件脚本所记录的所有目标控件对应操作均执行的情况下,结束所述控件脚本。
[0013]可选的,所述筛选是通过UIautomator软件来完成的。
[0014]为实现上述目标及其他相关目标,本发明提供一种应用于安卓系统的自动化测试系统,包括:操作记录模块,用于记录操作界面接收到的关于控制测试的操作;解析模块,用于根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;控件信息记录模块,用于记录所述获取的目标控件信息;控件运行模块,用于运行所述目标控件以完成自动测试。
[0015]如上所述,本发明提供一种应用于安卓系统的自动化测试方法及系统,记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试;本发明通过控件录制技术等,实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。
【附图说明】
[0016]图1显示为本发明一实施例中的应用于安卓系统的自动化测试方法的流程示意图。
[0017]图2显示为本发明一实施例中的控件脚本运行方法的流程示意图。
[0018]图3显示为本发明一实施例中的应用于安卓系统的自动化测试系统的结构示意图。
[0019]元件标号说明
[0020]I 应用于安卓系统的自动化测试系统
[0021]11 操作记录模块
[0022]12 解析模块
[0023]13 控件信息记录模块
[0024]14控件运行模块
[0025]SI?S4 方法步骤
【具体实施方式】
[0026]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0027]如图1所示,本发明提供一种应用于安卓系统的自动化测试方法,包括:
[0028]步骤S1:记录操作界面接收到的关于控制测试的操作。
[0029]在一实施例中,所述操作界面是来自于例如安装有安卓操作系统的移动终端(例如手机或平板电脑等),优选的,所述操作界面包括:将移动终端的交互界面(GUI)通过投影生成的投影界面,由于投影界面和移动终端的交互界面是成比例的,若以两者分别建立坐标平面,则投影界面内和交互界面内的各点坐标间是可以相互转化的,因此用户在投影界面的操作可以对应识别转换为在移动终端交互界面的操作,例如点击、长按或文本输入等;所述测试例如为对Π界面的测试,则仅需点击、长按或文本输入等简单操作,本发明尝试将手工操作通过控件加以记录以作为自动测试的依据,详见后文。
[0030]步骤S2:根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息。
[0031]在一实施例中,所述根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息,包括:以所述操作界面为坐标平面,获取所记录的操作对应位置的坐标数据;根据接受所述操作时的操作界面的界面布局文件,获取其中的各待选控件;从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件。
[0032]具体的,所述筛选即目标控件的定位,并对其屈性的获取,从手机屏幕显示技术中,可以获取用户操作所输入的坐标,其次通过adb命令adb shell system/bin/uiautomator dump获取当前界面布局文件(本实施例中为XML文件,例如windouw_dump.xml文件)。通过代码解析技术解析xml文件(xml文件解析技术不屈于本专利范围内,只做步骤参考,不做详述),解析出各个控件及其屈性。通过控件算法定位是屈于哪个目标控件;最后将目标控件信息抛出;所抛出的控件信息,就是用户点击屏幕的控件的屈性信息。
[0033]进一步的,所述从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件,包括:通过两点坐标定义矩阵范围来显示每个所述待选控件,所述两点包括:左上点及右下点;筛选出所述操作的坐标数据落入在内且矩阵范围最小的待选控件作为所述目标控件。
[0034]具体来说,通过用户输入的点位计算出该点位被包含的控件。即找出该控件,核心算法步骤,控件信息采用矩阵显示,即左上和右下两点位,两点定义一个矩形范围。用户点击屏幕一点时,等同矩阵左上和右下两点重叠,列如:[138,473] [138,473],其次通过代码解析技术解析出xml中所有控件,暂举4个控件[0,0] [480,800] ;[0,110] [480,800] ;[87,289] [205,321] ; [87,289] [205,321] ; [24,464] [456,536],依次和用户输入的点位进行比对,需要符合的条件有,用户输入的值依次和解析出来的值进行比对,用户输入的第一个[]中取两数都大于解析出来的值,用户输入的第二个[]中的值取两数都小于解析出来的值。暂以例举为例,符合条件的有[0,0] [480,800] ;[0,110] [480,800] ; [24,464] [456,536],并通过两点法计算其面积(已有左上和右下两点坐标,可以得到矩形面积),选取面积最小的那个控件为输出控件[24,464] [456,536],因此该目标控件的范围就在[24,464] [456,536]中,以上为了说明得更清晰,采用举例法进行说明,实际情况可以会进行上百甚至上千个控件中进行比对。
[0035]步骤S3:记录所述获取的目标控件信息。
[0036]在一实施例中,所述操作有多个,每个操作对应一目标控件,每个操作对应的目标控件均具有有各自的唯一屈性。
[0037]关于所述控件的屈性,一般android手机内的可用控件基本分为文本标签屈性(text),资源ID屈性(resource-1d),内容描述屈性(content-desc)(不排除其他可以用控件屈性,目前就以这三种常用的为例),这三种屈性,通过上述控件定位之后就能够获取出所需的控件屈性,各种屈性分别对应不同操作。
[0038]步骤S4:运行所述目标控件以完成自动测试。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1