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

上传人:00****42 文档编号:1666132 上传时间:2018-07-03 格式:PDF 页数:11 大小:523.40KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510361963.9

申请日:

2015.06.26

公开号:

CN104881364A

公开日:

2015.09.02

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 11/36申请日:20150626|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

上海斐讯数据通信技术有限公司

发明人:

韩继梁

地址:

201616上海市松江区思贤路3666号

优先权:

专利代理机构:

上海光华专利事务所31219

代理人:

高彦

PDF下载: PDF下载
内容摘要

本发明提供一种应用于安卓系统的自动化测试方法及系统,记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试;本发明通过控件录制技术等,实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。

权利要求书

权利要求书
1.  一种应用于安卓系统的自动化测试方法,其特征在于,包括:
记录操作界面接收到的关于控制测试的操作;
根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;
记录所述获取的目标控件信息;
运行所述目标控件以完成自动测试。

2.  根据权利要求1所述的应用于安卓系统的自动化测试方法,其特征在于,所述操作界面包括:将移动终端的交互界面通过投影生成的投影界面。

3.  根据权利要求1所述的应用于安卓系统的自动化测试方法,其特征在于,所述根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息,包括:
以所述操作界面为坐标平面,获取所记录的操作对应位置的坐标数据;
根据接受所述操作时的操作界面的界面布局文件,获取其中的各待选控件;
从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件。

4.  根据权利要求3所述的应用于安卓系统的自动化测试方法,其特征在于,所述从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件,包括:
通过两点坐标定义矩阵范围来显示每个所述待选控件,所述两点包括:左上点及右下点;
筛选出所述操作的坐标数据落入在内且矩阵范围最小的待选控件作为所述目标控件。

5.  根据权利要求4所述的应用于安卓系统的自动化测试方法,其特征在于,所述操作有多个,每个操作对应一目标控件,每个操作对应的目标控件均具有有各自的唯一屈性。

6.  根据权利要求5所述的应用于安卓系统的自动化测试方法,其特征在于,包括:将与各个操作对应的目标控件信息记录在控件脚本中。

7.  根据权利要求5所述的应用于安卓系统的自动化测试方法,其特征在于,所述屈性包括:文本标签屈性、资源ID屈性及内容描述屈性中的一种。

8.  根据权利要求6所述的应用于安卓系统的自动化测试方法,其特征在于,所述运行所述目标控件以完成自动测试,包括:
获取所述控件脚本;
按照所述控件脚本所记录各目标控件的屈性,在已存储于安卓系统内的各目标控件中逐一筛选屈性匹配的待执行控件;
在屈性匹配的情况下,判断该屈性匹配的待执行控件是否存在于所述接受所述操作 时的操作界面的界面布局文件中;
若存在,则运行该待执行控件以执行对应操作;
若不存在,则结束所述控件脚本;
在所述控件脚本所记录的所有目标控件对应操作均执行的情况下,结束所述控件脚本。

9.  根据权利要求8所述的应用于安卓系统的自动化测试方法,其特征在于,所述筛选是通过UIautomator软件来完成的。

10.  一种应用于安卓系统的自动化测试系统,其特征在于,包括:
操作记录模块,用于记录操作界面接收到的关于控制测试的操作;
解析模块,用于根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;
控件信息记录模块,用于记录所述获取的目标控件信息;
控件运行模块,用于运行所述目标控件以完成自动测试。

说明书

说明书应用于安卓系统的自动化测试方法及系统
技术领域
本发明涉及软件系统测试技术领域,尤其是涉及应用于安卓系统的自动化测试方法及系统。
背景技术
现有安卓系统(android)的自动化测试有Monkey测试,它是一种随机的测试工具,无法根据测试人员自定义的方法进行操作。
现有谷歌的Uiautomator自动化测试可以根据测试人员自定义的步骤进行测试,但需要用户手动编写测试代码进行操作,测试方法不敏捷。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供应用于安卓系统的自动化测试方法及系统,结合控件录制技术等实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。
为实现上述目标及其他相关目标,本发明提供一种应用于安卓系统的自动化测试方法,包括:记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试。
可选的,所述操作界面包括:将移动终端的交互界面通过投影生成的投影界面。
可选的,所述根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息,包括:以所述操作界面为坐标平面,获取所记录的操作对应位置的坐标数据;根据接受所述操作时的操作界面的界面布局文件,获取其中的各待选控件;从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件。
可选的,所述从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件,包括:通过两点坐标定义矩阵范围来显示每个所述待选控件,所述两点包括:左上点及右下点;筛选出所述操作的坐标数据落入在内且矩阵范围最小的待选控件作为所述目标控件。
可选的,所述操作有多个,每个操作对应一目标控件,每个操作对应的目标控件均具有有各自的唯一屈性。
可选的,所述的应用于安卓系统的自动化测试方法,包括:将与各个操作对应的目标控 件信息记录在控件脚本中。
可选的,所述屈性包括:文本标签屈性、资源ID屈性及内容描述屈性中的一种。
可选的,所述运行所述目标控件以完成自动测试,包括:获取所述控件脚本;按照所述控件脚本所记录各目标控件的屈性,在已存储于安卓系统内的各目标控件中逐一筛选屈性匹配的待执行控件;在屈性匹配的情况下,判断该屈性匹配的待执行控件是否存在于所述接受所述操作时的操作界面的界面布局文件中;若存在,则运行该待执行控件以执行对应操作;若不存在,则结束所述控件脚本;在所述控件脚本所记录的所有目标控件对应操作均执行的情况下,结束所述控件脚本。
可选的,所述筛选是通过UIautomator软件来完成的。
为实现上述目标及其他相关目标,本发明提供一种应用于安卓系统的自动化测试系统,包括:操作记录模块,用于记录操作界面接收到的关于控制测试的操作;解析模块,用于根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;控件信息记录模块,用于记录所述获取的目标控件信息;控件运行模块,用于运行所述目标控件以完成自动测试。
如上所述,本发明提供一种应用于安卓系统的自动化测试方法及系统,记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试;本发明通过控件录制技术等,实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。
附图说明
图1显示为本发明一实施例中的应用于安卓系统的自动化测试方法的流程示意图。
图2显示为本发明一实施例中的控件脚本运行方法的流程示意图。
图3显示为本发明一实施例中的应用于安卓系统的自动化测试系统的结构示意图。
元件标号说明
1    应用于安卓系统的自动化测试系统
11   操作记录模块
12   解析模块
13   控件信息记录模块
14       控件运行模块
S1~S4   方法步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,本发明提供一种应用于安卓系统的自动化测试方法,包括:
步骤S1:记录操作界面接收到的关于控制测试的操作。
在一实施例中,所述操作界面是来自于例如安装有安卓操作系统的移动终端(例如手机或平板电脑等),优选的,所述操作界面包括:将移动终端的交互界面(GUI)通过投影生成的投影界面,由于投影界面和移动终端的交互界面是成比例的,若以两者分别建立坐标平面,则投影界面内和交互界面内的各点坐标间是可以相互转化的,因此用户在投影界面的操作可以对应识别转换为在移动终端交互界面的操作,例如点击、长按或文本输入等;所述测试例如为对UI界面的测试,则仅需点击、长按或文本输入等简单操作,本发明尝试将手工操作通过控件加以记录以作为自动测试的依据,详见后文。
步骤S2:根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息。
在一实施例中,所述根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息,包括:以所述操作界面为坐标平面,获取所记录的操作对应位置的坐标数据;根据接受所述操作时的操作界面的界面布局文件,获取其中的各待选控件;从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件。
具体的,所述筛选即目标控件的定位,并对其屈性的获取,从手机屏幕显示技术中,可以获取用户操作所输入的坐标,其次通过adb命令adb shell system/bin/uiautomator dump获取当前界面布局文件(本实施例中为XML文件,例如windouw_dump.xml文件)。通过代码解析技术解析xml文件(xml文件解析技术不屈于本专利范围内,只做步骤参考,不做详述),解析出各个控件及其屈性。通过控件算法定位是屈于哪个目标控件;最后将目标控件信息抛出;所抛出的控件信息,就是用户点击屏幕的控件的屈性信息。
进一步的,所述从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件, 包括:通过两点坐标定义矩阵范围来显示每个所述待选控件,所述两点包括:左上点及右下点;筛选出所述操作的坐标数据落入在内且矩阵范围最小的待选控件作为所述目标控件。
具体来说,通过用户输入的点位计算出该点位被包含的控件。即找出该控件,核心算法步骤,控件信息采用矩阵显示,即左上和右下两点位,两点定义一个矩形范围。用户点击屏幕一点时,等同矩阵左上和右下两点重叠,列如:[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]中,以上为了说明得更清晰,采用举例法进行说明,实际情况可以会进行上百甚至上千个控件中进行比对。
步骤S3:记录所述获取的目标控件信息。
在一实施例中,所述操作有多个,每个操作对应一目标控件,每个操作对应的目标控件均具有有各自的唯一屈性。
关于所述控件的屈性,一般android手机内的可用控件基本分为文本标签屈性(text),资源ID屈性(resource-id),内容描述屈性(content-desc)(不排除其他可以用控件屈性,目前就以这三种常用的为例),这三种屈性,通过上述控件定位之后就能够获取出所需的控件屈性,各种屈性分别对应不同操作。
步骤S4:运行所述目标控件以完成自动测试。
在一实施例中,所述运行所述目标控件以完成自动测试,包括:获取所述控件脚本;按照所述控件脚本所记录各目标控件的屈性,在已存储于安卓系统内的各目标控件中逐一筛选屈性匹配的待执行控件;在屈性匹配的情况下,判断该屈性匹配的待执行控件是否存在于所述接受所述操作时的操作界面的界面布局文件中;若存在,则运行该待执行控件以执行对应操作;若不存在,则结束所述控件脚本;在所述控件脚本所记录的所有目标控件对应操作均执行的情况下,结束所述控件脚本。
在一实施例中,控件的筛选及运行可采用uiautomator软件技术进行实现,通过传值的思路进行设计。
请参阅图2,显示控件脚本运行方法的流程:调用获取的控件汇总成的list(控件脚本);对list中记录的控件逐一筛选调用,由于Android系统中控件屈性是唯一的,故通过uiautomator软件技术依次在text,resource-id,content-desc的调用方法中进行查询,如果符合其中一个,即为与所需操作相对应的空间;进而,通过exists()方法,验证该控件信息是否存在于接受操作的界面(若不存在,则进行例如出错处理,本list脚本运行结束);若存在,进行运行控件以实现对应操作(点击,长按,输入字符等)。操作完毕后,检测list中后续是否还有控件需要操作,如果有,则返回屈性筛查包进行再次循环。如果没有,则测试结束。
在控件脚本运行方法中,其设计代码思路,是过滤和筛选控件的类型,区分text,resource-id,content-desc屈性,通过exists()方法,根据控件的唯一性,逐一判断其是否存在;优选的,上述投影界面操作识别机制、控件定位筛选机制、及控件运行机制的相关程序编写完毕后,可打成jar包,拷贝入移动终端,通过连接移动终端的测试机发布命令调用执行,实现android设备中各种点击长按等操作。
如图3所示,本发明提供一种应用于安卓系统的自动化测试系统1,其技术原理与上述方法实施例大致相同,上述方法实施例中的特征可应用于所述系统实施例,所述系统1包括:操作记录模块11,用于记录操作界面接收到的关于控制测试的操作;解析模块12,用于根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;控件信息记录模块13,用于记录所述获取的目标控件信息;控件运行模块14,用于运行所述目标控件以完成自动测试。
在一实施例中,所述操作界面包括:将移动终端的交互界面通过投影生成的投影界面。
在一实施例中,所述根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息,包括:以所述操作界面为坐标平面,获取所记录的操作对应位置的坐标数据;根据接受所述操作时的操作界面的界面布局文件,获取其中的各待选控件;从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件。
在一实施例中,所述从所述各待选控件中筛选与所述坐标数据最相关的作为所述目标控件,包括:通过两点坐标定义矩阵范围来显示每个所述待选控件,所述两点包括:左上点及右下点;筛选出所述操作的坐标数据落入在内且矩阵范围最小的待选控件作为所述目标控件。
在一实施例中,所述操作有多个,每个操作对应一目标控件,每个操作对应的目标控件均具有有各自的唯一屈性。
在一实施例中,所述的应用于安卓系统的自动化测试方法,包括:将与各个操作对应的 目标控件信息记录在控件脚本中。
在一实施例中,所述屈性包括:文本标签屈性、资源ID屈性及内容描述屈性中的一种。
在一实施例中,所述运行所述目标控件以完成自动测试,包括:获取所述控件脚本;按照所述控件脚本所记录各目标控件的屈性,在已存储于安卓系统内的各目标控件中逐一筛选屈性匹配的待执行控件;在屈性匹配的情况下,判断该屈性匹配的待执行控件是否存在于所述接受所述操作时的操作界面的界面布局文件中;若存在,则运行该待执行控件以执行对应操作;若不存在,则结束所述控件脚本;在所述控件脚本所记录的所有目标控件对应操作均执行的情况下,结束所述控件脚本。
在一实施例中,所述筛选是通过UIautomator软件来完成的。
综上所述,本发明提供一种应用于安卓系统的自动化测试方法及系统,记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试;本发明通过控件录制技术等,实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。
目前android自动化测试最好的技术,是手动编写控件脚本代码,需要用户懂得一定脚本编写语言,用户上手度不佳,而本发明的技术方案是通过模拟屏幕点击效果,直接录制控件技术,达到同样的操作效果和精度。具有稳定性和兼容性及操作性于一体的优势;本自动化是android设备的一种自动化测试思路和框架,初步是通过java语言进行编写,同理也可以使用C#,VB,C++/C等其他编程语言进行实现。能实现android设备的整体测试和并能搭载和扩展其他功能性测试及性能测试。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所屈技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

应用于安卓系统的自动化测试方法及系统.pdf_第1页
第1页 / 共11页
应用于安卓系统的自动化测试方法及系统.pdf_第2页
第2页 / 共11页
应用于安卓系统的自动化测试方法及系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《应用于安卓系统的自动化测试方法及系统.pdf》由会员分享,可在线阅读,更多相关《应用于安卓系统的自动化测试方法及系统.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明提供一种应用于安卓系统的自动化测试方法及系统,记录操作界面接收到的关于控制测试的操作;根据接受所述操作时的操作界面,以获取所述操作信息对应的目标控件信息;记录所述获取的目标控件信息;运行所述目标控件以完成自动测试;本发明通过控件录制技术等,实现安卓系统的自动化测试,提升测试效率,解决现有技术中的种种问题。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1