CN104052845B - 测试移动终端应用的方法及装置 - Google Patents

测试移动终端应用的方法及装置 Download PDF

Info

Publication number
CN104052845B
CN104052845B CN201310076868.5A CN201310076868A CN104052845B CN 104052845 B CN104052845 B CN 104052845B CN 201310076868 A CN201310076868 A CN 201310076868A CN 104052845 B CN104052845 B CN 104052845B
Authority
CN
China
Prior art keywords
application program
current application
mobile terminal
node elements
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310076868.5A
Other languages
English (en)
Other versions
CN104052845A (zh
Inventor
傅学君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310076868.5A priority Critical patent/CN104052845B/zh
Publication of CN104052845A publication Critical patent/CN104052845A/zh
Application granted granted Critical
Publication of CN104052845B publication Critical patent/CN104052845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种测试移动终端应用的方法及装置,其方法包括:遍历移动终端应用程序列表,从中获取当前应用程序并启动;解析当前应用程序,获取当前应用程序的树形结构中节点元素的特征信息;根据特征信息向对应的节点元素发送操作指令;若发送失败,则判定当前应用程序测试异常;否则,测试正常;以此循环,直至应用程序列表中所有应用程序测试完,由此可以快速完成对手机ROM的适配测试,提高系统适配测试的效率。

Description

测试移动终端应用的方法及装置
技术领域
本发明涉及移动互联网技术领域,尤其涉及一种测试移动终端应用的方法及装置。
背景技术
在手机中通常采用ROM来存放手机固件代码,比如手机的操作系统和内置的一些应用程序等。Android系统是一种基于Linux的自由及开放源代码的操作系统。目前,对Android系统手机ROM进行适配测试时,主要靠人力来完成整个测试过程,但是这种测试方式不仅测试步骤复杂,而且操作时间很长,由此降低了手机系统测试效率。
发明内容
本发明的主要目的在于提供一种测试移动终端应用的方法及装置,旨在快速实现对手机ROM的适配测试。
为了达到上述目的,本发明提出一种测试移动终端应用的方法,包括:
遍历移动终端应用程序列表,从中获取当前应用程序并启动;
解析所述当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息;
根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定所述当前应用程序测试异常;否则,测试正常。
本发明还提出一种测试移动终端应用的装置,包括:
获取启动模块,用于遍历移动终端应用程序列表,从中获取当前应用程序并启动;
解析获取模块,用于解析所述当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息;
测试操作模块,用于根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定当前应用程序测试异常;否则,测试正常。
本发明提出的一种测试移动终端应用的方法及装置,通过遍历移动终端应用程序列表,从中获取当前应用程序并启动;解析所述应用程序,获取所述应用程序的树形结构中节点元素的特征信息;根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定应用程序测试异常;否则,测试正常,由此可以快速完成对手机ROM的适配测试,提高系统适配测试的效率。
附图说明
图1是本发明测试移动终端应用的方法第一实施例的流程示意图;
图2是本发明测试移动终端应用的方法第二实施例的流程示意图;
图3是本发明测试移动终端应用的方法第三实施例的流程示意图;
图4是本发明测试移动终端应用的方法第四实施例的流程示意图;
图5是本发明测试移动终端应用的装置第一实施例的结构示意图;
图6是本发明测试移动终端应用的装置第二实施例的结构示意图;
图7是本发明测试移动终端应用的装置第三实施例的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例解决方案主要是:通过遍历移动终端应用程序列表,从中获取当前应用程序并启动;解析应用程序,获取应用程序的树形结构中节点元素的特征信息;根据特征信息向对应的节点元素发送操作指令;若发送失败,则判定应用程序测试异常;否则,测试正常,以快速完成对手机ROM的适配测试。
如图1所示,本发明第一实施例提出一种测试移动终端应用的方法,包括:
步骤S101,遍历移动终端应用程序列表,从中获取当前应用程序并启动;
本实施例中移动终端可以为手机、平板电脑等,本实施例移动终端安装的操作系统不限于Android系统,同时,在移动终端中内置有应用程序存储在移动终端的ROM中。本实施例方案主要是对移动终端内置应用程序的适配测试。
首先获取获取移动终端应用程序列表,该应用程序列表可以预先根据各应用程序的程序包的存储位置生成。
遍历移动终端应用程序列表,对该应用程序列表中的各应用程序进行测试。以当前应用程序为例,在具体测试时,从应用程序列表中获取当前应用程序,并启动该当前应用程序。
具体地,启动应用程序的过程为:首先从应用程序列表中获取应用程序包;分析所述应用程序包,获取当前应用程序启动所需信息,该启动应用程序所需信息比如可以是应用程序包的显示名称、应用程序源代码包名称、应用程序入口以及登录信息等等。
然后根据所述当前应用程序启动所需信息启动该当前应用程序。
步骤S102,解析所述当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息;
在启动当前应用程序后,解析该当前应用程序,根据移动终端的生命周期的特性以及当前应用程序的特性,获取当前应用程序的树形结构;先深度遍历后广度遍历当前应用程序的树形结构中所有节点元素,并分析节点元素获取各节点元素的特征信息。
其中,特征信息可以包括:操作类型、节点元素的坐标位置和可以处理的事件等。
上述先深度遍历后广度遍历当前应用程序的树形结构中所有节点元素的过程如下:
由于应用程序界面表现为树形结构,树形结构包括从根节点到顶层子节点的若干个节点元素,比如根节点下会包括若干子节点元素,根节点下的每一子节点元素可能还包括若干下一层子节点元素,以此类推,在遍历节点元素时,先从根节点下的一个子节点元素进行深度测试,直至到达该子节点元素对应的顶层子节点元素;然后,进行广度遍历,从根节点下的另一个子节点元素至顶层子节点元素的深度测试。
步骤S103,根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定当前应用程序测试异常;否则,测试正常。
根据获取的特征信息向对应的节点元素发送操作指令,若发送失败,则判定当前应用程序测试异常,并可截取具体异常信息,并记录到测试结果中;若发送成功,则判定当前应用程序测试正常。
之后,判断移动终端应用程序列表是否遍历完,若移动终端应用程序列表未遍历完,则返回步骤S101,直至应用程序列表中所有应用程序测试完,得到该移动终端应用程序测试结果,并可以将测试结果记录下来,以便后续查询。
本实施例通过上述方案,可以快速完成对手机ROM的适配测试,提高系统适配测试的效率。
如图2所示,本发明第二实施例提出一种测试移动终端应用的方法,在上述第一实施例的基础上,在上述步骤S101之前还包括:
步骤S90,从所述移动终端中获取各应用程序包的存储位置;
步骤S100,通过linux命令从对应的存储位置查找相应的应用程序包,生成应用程序列表。
本实施例与上述第一实施例的区别在于,本实施例还包括生成移动终端应用程序列表的过程。其他与第一实施例相同。
具体地,首先从移动终端的ROM中获取各应用程序包的存储位置,然后,通过linux命令从对应的存储位置查找相应的应用程序包,基于各应用程序包的名称及存储位置等信息生成应用程序列表,以便对该移动终端应用程序进行测试。
如图3所示,本发明第三实施例提出一种测试移动终端应用的方法,在上述第一实施例的基础上,在上述步骤S103之前还包括:
步骤S104,判断所述对应的节点元素是否可操作,若是,则执行步骤S103;否则,进入步骤S105;
步骤S105,略过该对应的节点元素,返回步骤S101。
本实施例与上述第一实施例的区别在于,在本实施例中,在向对应的节点元素发送操作指令之前,还需判断对应的节点元素是否可操作,若该对应的节点元素可操作,则向对应的节点元素发送操作指令,否则,不向该节点元素发送操作指令,由此,通过节点元素是否可操作进行筛选判断,可以简化系统测试的复杂度,提高系统测试运行的准确性。
如图4所示,本发明第四实施例提出一种测试移动终端应用的方法,在上述第一实施例的基础上,在上述步骤S103之后还包括:
步骤S106,将所有应用程序的测试结果写入日志并进行汇总;
步骤S107,从所述日志中分析提取对应的应用程序运行过程中的异常信息。
本实施例与上述第一实施例的区别在于,在本实施例中,在完成移动终端应用程序测试之后,将测试结果写入日志并进行汇总,后续过程进行测试结果查询时,从日志中分析提取对应的应用程序测试运行过程中的异常信息。其他与第一实施例相同。
需要说明的是上述第二、三、四实施例可以相互组合实施,在此不在赘述。
如图5所示,本发明第一实施例提出一种测试移动终端应用的装置,包括:获取启动模块201、解析获取模块202以及测试操作模块203,其中:
获取启动模块201,用于遍历移动终端应用程序列表,从中获取当前应用程序并启动;
解析获取模块202,用于解析所述当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息;
测试操作模块203,用于根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定当前应用程序测试异常;否则,测试正常。
本实施例中移动终端可以为手机、平板电脑等,本实施例移动终端安装的操作系统不限于Android系统,同时,在移动终端中内置有应用程序存储在移动终端的ROM中。本实施例方案主要是对移动终端内置应用程序的适配测试。
首先获取启动模块201获取获取移动终端应用程序列表,该应用程序列表可以预先根据各应用程序的程序包的存储位置生成。
遍历移动终端应用程序列表,对该应用程序列表中的各应用程序进行测试。以当前应用程序为例,在具体测试时,从应用程序列表中获取当前应用程序,并启动该当前应用程序。
具体地,启动应用程序的过程为:首先从应用程序列表中获取应用程序包;分析所述应用程序包,获取当前应用程序启动所需信息,该启动应用程序所需信息比如可以是应用程序包的显示名称、应用程序源代码包名称、应用程序入口以及登录信息等等。
然后根据所述当前应用程序启动所需信息启动该当前应用程序。
在启动当前应用程序后,由解析获取模块202解析该当前应用程序,根据移动终端的生命周期的特性以及当前应用程序的特性,获取当前应用程序的树形结构;先深度遍历后广度遍历当前应用程序的树形结构中所有节点元素,并分析节点元素获取各节点元素的特征信息。
其中,特征信息可以包括:操作类型、节点元素的坐标位置和可以处理的事件等。
上述先深度遍历后广度遍历当前应用程序的树形结构中所有节点元素的过程如下:
由于应用程序界面表现为树形结构,树形结构包括从根节点到顶层子节点的若干个节点元素,比如根节点下会包括若干子节点元素,根节点下的每一子节点元素可能还包括若干下一层子节点元素,以此类推,在遍历节点元素时,先从根节点下的一个子节点元素进行深度测试,直至到达该子节点元素对应的顶层子节点元素;然后,进行广度遍历,从根节点下的另一个子节点元素至顶层子节点元素的深度测试。
之后测试操作模块203根据获取的特征信息向对应的节点元素发送操作指令,若发送失败,则判定当前应用程序测试异常,并可截取具体异常信息,并记录到测试结果中;若发送成功,则判定当前应用程序测试正常。
然后,获取启动模块201判断移动终端应用程序列表是否遍历完,若移动终端应用程序列表未遍历完,则获取启动模块201再次遍历移动终端应用程序列表,从中获取当前应用程序并启动,直至应用程序列表中所有应用程序测试完,得到该移动终端应用程序测试结果,并可以将测试结果记录下来,以便后续查询。
此外,作为本实施例的进一步改进,所述测试操作模块203还用于判断所述对应的节点元素是否可操作,若是,则向该对应的节点元素发送操作指令;否则,略过该对应的节点元素。由此,通过节点元素是否可操作进行筛选判断,可以简化系统测试的复杂度,提高系统测试运行的准确性。
本实施例通过上述方案,可以快速完成对手机ROM的适配测试,提高系统适配测试的效率和测试准确性。
如图6所示,本发明第二实施例提出一种测试移动终端应用的装置,在上述第一实施例的基础上,还包括:
列表生成模块200,用于从所述移动终端中获取各应用程序包的存储位置;通过linux命令从对应的存储位置查找相应的应用程序包,生成应用程序列表。
本实施例与上述第一实施例的区别在于,本实施例还包括生成移动终端应用程序列表的过程。其他与第一实施例相同。
具体地,列表生成模块200首先从移动终端的ROM中获取各应用程序包的存储位置,然后,通过linux命令从对应的存储位置查找相应的应用程序包,基于各应用程序包的名称及存储位置等信息生成应用程序列表,以便对该移动终端应用程序进行测试。
如图7所示,本发明第三实施例提出一种测试移动终端应用的装置,在上述第一实施例的基础上,还包括:
日志管理模块204,用于将所有应用程序的测试结果写入日志;从所述日志中分析提取对应的应用程序运行过程中的异常信息。
本实施例与上述第一实施例的区别在于,在本实施例中,在完成移动终端应用程序测试之后,将测试结果写入日志并进行汇总,后续过程进行测试结果查询时,从日志中分析提取对应的应用程序测试运行过程中的异常信息。其他与第一实施例相同。
需要说明的是上述第二、三实施例可以相互组合实施,在此不在赘述。
本发明实施例测试移动终端应用的方法及装置,通过遍历移动终端应用程序列表,从中获取当前应用程序并启动;解析所述应用程序,获取所述应用程序的树形结构中节点元素的特征信息;根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定应用程序测试异常;否则,测试正常,由此可以快速完成对手机ROM的适配测试,提高系统适配测试的效率。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种测试移动终端应用的方法,其特征在于,包括:
遍历移动终端应用程序列表,从中获取当前应用程序并启动;
解析所述当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息;
根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定所述当前应用程序测试异常;否则,测试正常;
其中,所述解析当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息的步骤包括:
根据所述移动终端的生命周期的特性以及当前应用程序的特性,获取所述当前应用程序的树形结构;
先深度遍历后广度遍历所述当前应用程序的树形结构中所有节点元素,并分析所述节点元素获取各节点元素的特征信息。
2.根据权利要求1所述的方法,其特征在于,启动所述当前应用程序的步骤包括:
从所述应用程序列表中获取应用程序包;
分析所述应用程序包,获取当前应用程序启动所需信息;
根据所述当前应用程序启动所需信息启动所述当前应用程序。
3.根据权利要求1所述的方法,其特征在于,所述特征信息至少包括以下之一:操作类型、节点元素的坐标位置和可以处理的事件。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述遍历移动终端应用程序列表,从中获取当前应用程序并启动的步骤之前还包括:
从所述移动终端中获取各应用程序包的存储位置;
通过linux命令从对应的存储位置查找相应的应用程序包,生成应用程序列表。
5.根据权利要求4所述的方法,其特征在于,所述根据特征信息向对应的节点元素发送操作指令的步骤之前还包括:
判断所述对应的节点元素是否可操作,若是,则执行向该对应的节点元素发送操作指令的步骤;否则,略过该对应的节点元素。
6.根据权利要求4所述的方法,其特征在于,还包括:
将所有应用程序的测试结果写入日志并进行汇总;
从所述日志中分析提取对应的应用程序运行过程中的异常信息。
7.一种测试移动终端应用的装置,其特征在于,包括:
获取启动模块,用于遍历移动终端应用程序列表,从中获取当前应用程序并启动;
解析获取模块,用于解析所述当前应用程序,获取所述当前应用程序的树形结构中节点元素的特征信息;
测试操作模块,用于根据所述特征信息向对应的节点元素发送操作指令;若发送失败,则判定当前应用程序测试异常;否则,测试正常;
其中,所述解析获取模块还用于根据所述移动终端的生命周期的特性以及当前应用程序的特性,获取所述当前应用程序的树形结构;先深度遍历后广度遍历所述当前应用程序的树形结构中所有节点元素,并分析所述节点元素获取各节点元素的特征信息。
8.根据权利要求7所述的装置,其特征在于,所述获取启动模块还用于从所述应用程序列表中获取应用程序包;分析所述应用程序包,获取所述当前应用程序启动所需信息;根据当前应用程序启动所需信息启动所述当前应用程序。
9.根据权利要求7-8中任一项所述的装置,其特征在于,还包括列表生成模块,用于从所述移动终端中获取各应用程序包的存储位置;通过linux命令从对应的存储位置查找相应的应用程序包,生成应用程序列表。
10.根据权利要求9所述的装置,其特征在于,所述测试操作模块还用于判断所述对应的节点元素是否可操作,若是,则向该对应的节点元素发送操作指令;否则,略过该对应的节点元素。
11.根据权利要求9所述的装置,其特征在于,还包括日志管理模块,用于将所有应用程序的测试结果写入日志;从所述日志中分析提取对应的应用程序运行过程中的异常信息。
CN201310076868.5A 2013-03-11 2013-03-11 测试移动终端应用的方法及装置 Active CN104052845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310076868.5A CN104052845B (zh) 2013-03-11 2013-03-11 测试移动终端应用的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310076868.5A CN104052845B (zh) 2013-03-11 2013-03-11 测试移动终端应用的方法及装置

Publications (2)

Publication Number Publication Date
CN104052845A CN104052845A (zh) 2014-09-17
CN104052845B true CN104052845B (zh) 2017-12-15

Family

ID=51505193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310076868.5A Active CN104052845B (zh) 2013-03-11 2013-03-11 测试移动终端应用的方法及装置

Country Status (1)

Country Link
CN (1) CN104052845B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988933B (zh) * 2016-01-29 2018-09-07 腾讯科技(深圳)有限公司 界面可操作节点识别方法、应用测试方法、装置及系统
CN107197070B (zh) * 2017-06-08 2020-03-24 杭州友声科技股份有限公司 基于事件序列的手机应用ui的广度遍历自动化测试方法
CN109144855A (zh) * 2018-07-27 2019-01-04 南昌黑鲨科技有限公司 移动终端主控mmi测试方法及装置
CN111290940B (zh) * 2018-12-10 2023-04-28 中国移动通信集团江西有限公司 针对app的自动化测试方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719925A (zh) * 2004-07-08 2006-01-11 中兴通讯股份有限公司 一种cdma手机软件自动测试的方法及装置
CN1755643A (zh) * 2004-09-27 2006-04-05 华为技术有限公司 一种软件测试的方法
CN1976526A (zh) * 2006-11-15 2007-06-06 华为技术有限公司 一种手机自动化测试系统和测试方法
CN101296462A (zh) * 2007-04-25 2008-10-29 中兴通讯股份有限公司 一种移动终端软件自动测试的批量执行的方法及系统
CN101706799A (zh) * 2009-11-20 2010-05-12 中兴通讯股份有限公司 一种实现自动化测试的方法和装置
CN102053911A (zh) * 2010-12-30 2011-05-11 东莞宇龙通信科技有限公司 基于Android的自动化测试方法、系统及移动终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719925A (zh) * 2004-07-08 2006-01-11 中兴通讯股份有限公司 一种cdma手机软件自动测试的方法及装置
CN1755643A (zh) * 2004-09-27 2006-04-05 华为技术有限公司 一种软件测试的方法
CN1976526A (zh) * 2006-11-15 2007-06-06 华为技术有限公司 一种手机自动化测试系统和测试方法
CN101296462A (zh) * 2007-04-25 2008-10-29 中兴通讯股份有限公司 一种移动终端软件自动测试的批量执行的方法及系统
CN101706799A (zh) * 2009-11-20 2010-05-12 中兴通讯股份有限公司 一种实现自动化测试的方法和装置
CN102053911A (zh) * 2010-12-30 2011-05-11 东莞宇龙通信科技有限公司 基于Android的自动化测试方法、系统及移动终端

Also Published As

Publication number Publication date
CN104052845A (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
CN106294156B (zh) 一种静态代码缺陷检测分析方法及装置
CN104657140B (zh) 代码生成方法及装置
CN104052845B (zh) 测试移动终端应用的方法及装置
CN105022691B (zh) 一种基于uml图的高度自动化软件测试方法
CN104794048B (zh) 一种ui自动化测试方法和系统
CN102684927B (zh) 一种巡检网络设备的方法和装置
CN108459967B (zh) 基于用户接口状态流图的Web应用测试用例生成方法
CN108446221A (zh) 系统测试方法、装置、计算机设备和存储介质
CN110389898A (zh) 测试策略的获取方法、装置、终端及计算机可读存储介质
CN102014016A (zh) 一种网络协议缺陷测试系统及方法
CN102968375B (zh) 基于关联规则挖掘的不可达路径检测方法
CN105335246B (zh) 一种基于问答网站分析的程序崩溃缺陷自动修复方法
CN108228770A (zh) 一种应用文件来源查询的方法及装置
Guana et al. Chaintracker, a model-transformation trace analysis tool for code-generation environments
CN106919501A (zh) 基于缺陷模式的静态分析方法和工具
CN101873593A (zh) 一种基于Android的Wifi无线拨号系统及方法
CN107423221A (zh) 一种web应用可持续测试方法及系统
CN104156308A (zh) 一种基于用户执行踪迹重放的移动应用测试方法
US8140504B2 (en) Report generation system and method
CN105930267A (zh) 一种基于数据库字典的存储过程静态检测方法及系统
CN108334446A (zh) 一种网页模板的校验方法、装置及计算机可读存储介质
CN107276829A (zh) 基于地址解析协议的电力系统的网络拓扑获取方法和系统
Guangquan et al. A business process of web services testing method based on uml2. 0 activity diagram
CN104142952A (zh) 报表展示方法和装置
CN108287788A (zh) 一种基于测试用例的用例步骤搭配方法、系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant