公开/公告号CN104965791A
专利类型发明专利
公开/公告日2015-10-07
原文格式PDF
申请/专利权人 上海斐讯数据通信技术有限公司;
申请/专利号CN201510427089.4
发明设计人 耿兴欢;
申请日2015-07-20
分类号
代理机构上海硕力知识产权代理事务所;
代理人郭桂峰
地址 201616 上海市松江区思贤路3666号
入库时间 2023-12-18 11:19:06
法律状态公告日
法律状态信息
法律状态
2018-05-01
专利权的保全 IPC(主分类):G06F11/36 授权公告日:20170929 登记生效日:20180313 申请日:20150720
专利权的保全及其解除
2017-09-29
授权
授权
2015-11-11
实质审查的生效 IPC(主分类):G06F11/36 申请日:20150720
实质审查的生效
2015-10-07
公开
公开
技术领域
本发明涉及移动终端技术领域,尤其涉及一种对Android平台应用程序进 行测试的方法。
背景技术
随着移动终端产业的发展,手机厂商的项目也越来越多,手机项目的软件 测试多为功能测试,测试时通常是测试人员执行一定的操作流程,以判断功能 是否正常。
其中一种自动化测试方法是Monkey测试,通过Monkey程序模拟用户触摸 屏幕、滑动Trackball和按键等操作来对设备上的程序进行压力测试,检测程 序多长时间会发生异常,即通过对手机进行模拟随机的点击操作,以测试程序 的稳定性和健壮性,此种方法由于是随机的点击,对当前的应用程序界面并无 有效判断,无法保证测试的准确性和全面性。另一种测试方法是对人工操作进 行录制,通过对录制脚本进行重放,以完成测试,此过程需要录制大量的脚本 才能覆盖较全面的测试流程,测试工作量大,测试成本高。
发明内容
本发明的目的是为解决目前移动终端测试方法无法保证对测试的应用程序 当前操作界面进行定位的准确性和全面性,造成测试工作量大,测试成本高的 技术问题。
为了解决上述技术问题,本发明提供一种对Android平台应用程序进行测 试的方法,所述方法包括以下步骤:
(1)运行主测试脚本程序T1;
(2)打开预定义的Apk程序;
(3)获取Android系统的界面堆栈信息;
(4)记录所述预定义Apk程序的界面在堆栈中的位置编号TN;
(5)所述堆栈利用编号TN定位当前程序界面S,调用并执行对应程序界面S 的测试脚本程序T2;
(6)所述堆栈利用所述编号TN判断当前界面S是否变化,如果变化,则返 回所述步骤(5)。
进一步地,所述步骤(2)中,通过执行am命令打开所述预定义的Apk程 序。
进一步地,所述步骤(3)中,通过执行dumpsys命令获取Android系统的 界面堆栈信息。
进一步地,步骤(2)中所述预定义的Apk程序用于判断当前显示的界面S 在所述堆栈中的位置编号TN。
为了解决上述技术问题,本发明还提供了另一种对Android平台应用程序 进行测试的方法,所述方法包括以下步骤:
(10)运行主测试脚本程序T1;
(20)打开预定义的Apk程序;
(30)获取Android系统的界面堆栈信息;
(40)记录所述预定义Apk程序的界面在堆栈中的位置编号TN;
(50)所述堆栈利用编号TN定位当前程序界面S;
(60)如果所述当前程序界面S不是需要测试的界面,则关闭当前界面并打 开默认测试界面进行自动测试;如果所述当前程序界面S是需要测试的界面,则 调用并执行对应程序界面S的测试脚本程序T2,并进入下一步;
(70)所述堆栈利用所述编号TN判断当前界面S是否变化,如果变化,则 调用并执行对应程序界面S的测试脚本程序T2。
进一步地,所述步骤(20)中,通过执行am命令打开所述预定义的Apk程 序。
进一步地,所述步骤(30)中,通过执行dumpsys命令获取Android系统 的界面堆栈信息。
进一步地,步骤(20)中所述预定义的Apk程序用于判断当前显示的界面S 在所述堆栈中的位置编号TN。
本发明所述的方法,通过预定义的Apk程序界面在堆栈中的位置编号可以 准确定位待测应用程序的当前程序界面,并根据当前界面内容执行对应的测试 操作,提高测试的准确性和可靠性,并可减少由于界面组合导致的测试脚本较 多的问题,大大减轻了测试工作量,降低了测试成本。
附图说明
图1为根据本发明一个实施例的测试方法运行流程图;
图2为根据本发明另一个实施例的测试方法运行流程图。
具体实施方式
现在结合附图和实施例对本发明作进一步详细的说明。这些附图均为简化 的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关 的构成,且其不应理解为对本发明的限制。
实施例1
如图1所示,本发明的对Android平台应用程序进行测试的方法,包括以 下步骤:
S100.运行主测试脚本程序T11;
S110.执行am命令,打开预定义的Apk程序,预定义的Apk程序用于判断待 测应用程序当前显示的界面S1在堆栈中的位置编号TN1;
S120.执行dumpsys命令,获取Android系统的界面堆栈信息;
S130.在堆栈中找到预定义Apk程序的界面,记录预定义Apk程序的界面在 堆栈中的位置编号TN1;
S140.堆栈利用编号TN1定位当前程序界面S1,调用并执行对应程序界面S的 测试脚本程序T21;
S150.堆栈利用编号TN1判断当前界面S1是否变化,如果变化,则返回步骤 S140。
实施例2
如图2所示,本发明的对Android平台应用程序进行测试的方法,包括以 下步骤:
S200.运行主测试脚本程序T12;
S210.执行am命令,打开预定义的Apk程序,预定义的Apk程序用于判断当 前显示的界面S2在堆栈中的位置编号TN2;
S220.执行dumpsys命令,获取Android系统的界面堆栈信息;
S230.在堆栈中找到预定义Apk程序的界面,记录预定义Apk程序的界面在 堆栈中的位置编号TN2;
S240.堆栈利用编号TN2定位当前程序界面S2;
S250.判断当前程序界面S2是否为待测应用程序需要测试的界面;
S260.如果当前程序界面S2是需要测试的界面,则调用并执行对应程序界面 S2的测试脚本程序T22,并进入步骤S280;
S270.如果当前程序界面S2不是需要测试的界面,则关闭当前界面并打开 默认测试界面进行自动测试;
S280.堆栈利用编号TN2判断当前界面S2是否变化,如果变化,则进入步骤 S240。
本发明所述的方法,通过预定义的Apk程序界面在堆栈中的位置编号可以 准确定位待测应用程序的当前程序界面,并根据当前界面内容执行对应的测试 操作,提高测试的准确性和可靠性,并可减少由于界面组合导致的测试脚本较 多的问题,大大减轻了测试工作量,降低了测试成本。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作 人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。 本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围 来确定其技术性范围。
机译: 用于对生物测试样本中的一种或多种目标类型的目标分子存在进行测试的缓冲液的测试系统;用于测试生物测试样品中一种或多种目标类型的目标分子的存在的测试系统;以及靶向分子以促进对生物测试样品的一种或多种靶类型的靶分子的存在的测试的方法。
机译: 利用应用程序和系统服务之间的关系对机器人操作系统中的应用程序进行排序的方法,一种能够读取用于对机器人操作系统中的应用程序进行排序的程序的记录介质
机译: 一种能够轻松进行测试和调试的模拟机器人应用程序的装置和方法