CN104965791B - 一种对Android平台应用程序进行测试的方法 - Google Patents
一种对Android平台应用程序进行测试的方法 Download PDFInfo
- Publication number
- CN104965791B CN104965791B CN201510427089.4A CN201510427089A CN104965791B CN 104965791 B CN104965791 B CN 104965791B CN 201510427089 A CN201510427089 A CN 201510427089A CN 104965791 B CN104965791 B CN 104965791B
- Authority
- CN
- China
- Prior art keywords
- interface
- program
- storehouse
- predefined
- application program
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012360 testing method Methods 0.000 claims abstract description 55
- 241000282693 Cercopithecidae Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种对Android平台应用程序进行测试的方法,通过以下步骤实现:运行主测试脚本程序、打开预定义的Apk程序、获取Android***的界面堆栈信息、记录所述预定义Apk程序的界面在堆栈中的位置编号、所述堆栈利用编号定位当前程序界面、调用并执行对应程序界面的测试脚本程序和所述堆栈利用所述编号判断当前界面是否变化,如果变化,则重复所述堆栈利用编号定位当前程序界面,调用并执行对应程序界面的测试脚本程序。本发明通过预定义的Apk程序界面在堆栈中的位置编号可以准确定位当前程序界面,并根据当前界面内容执行对应的测试操作,提高测试的准确性和可靠性,并可减少由于界面组合导致的测试脚本较多的问题,大大减轻测试工作量,降低了测试成本。
Description
技术领域
本发明涉及移动终端技术领域,尤其涉及一种对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程序界面在堆栈中的位置编号可以准确定位待测应用程序的当前程序界面,并根据当前界面内容执行对应的测试操作,提高测试的准确性和可靠性,并可减少由于界面组合导致的测试脚本较多的问题,大大减轻了测试工作量,降低了测试成本。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (8)
1.对Android平台应用程序进行测试的方法,其特征在于,所述方法包括以下步骤:
(1)运行主测试脚本程序T1;
(2)打开预定义的Apk程序;
(3)获取Android***的界面堆栈信息;
(4)记录所述预定义Apk程序的界面在堆栈中的位置编号TN;
(5)所述堆栈利用位置编号TN定位待测应用程序的当前程序界面S,调用并执行对应程序界面S的测试脚本程序T2;
(6)所述堆栈利用所述位置编号TN判断当前程序界面S是否变化,如果变化,则返回所述步骤(5)。
2.根据权利要求1所述的对Android平台应用程序进行测试的方法,其特征在于,所述步骤(2)中,通过执行am命令打开所述预定义的Apk程序。
3.根据权利要求1所述的对Android平台应用程序进行测试的方法,其特征在于,所述步骤(3)中,通过执行dumpsys命令获取Android***的界面堆栈信息。
4.根据权利要求1所述的对Android平台应用程序进行测试的方法,其特征在于,步骤(2)中所述预定义的Apk程序用于判断当前显示的程序界面S在所述堆栈中的位置编号TN。
5.对Android平台应用程序进行测试的方法,其特征在于,所述方法包括以下步骤:
(10)运行主测试脚本程序T1;
(20)打开预定义的Apk程序;
(30)获取Android***的界面堆栈信息;
(40)记录所述预定义Apk程序的界面在堆栈中的位置编号TN;
(50)所述堆栈利用位置编号TN定位当前程序界面S;
(60)如果待测应用程序的所述当前程序界面S不是需要测试的界面,则关闭当前界面并打开默认测试界面进行自动测试;如果所述当前程序界面S是需要测试的界面,则调用并执行对应程序界面S的测试脚本程序T2,并进入下一步;
(70)所述堆栈利用所述位置编号TN判断当前程序界面S是否变化,如果变化,则调用并执行对应程序界面S的测试脚本程序T2。
6.根据权利要求5所述的对Android平台应用程序进行测试的方法,其特征在于,所述步骤(20)中,通过执行am命令打开所述预定义的Apk程序。
7.根据权利要求5所述的对Android平台应用程序进行测试的方法,其特征在于,所述步骤(30)中,通过执行dumpsys命令获取Android***的界面堆栈信息。
8.根据权利要求5所述的对Android平台应用程序进行测试的方法,其特征在于,步骤(20)中所述预定义的Apk程序用于判断当前显示的程序界面S在所述堆栈中的位置编号TN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510427089.4A CN104965791B (zh) | 2015-07-20 | 2015-07-20 | 一种对Android平台应用程序进行测试的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510427089.4A CN104965791B (zh) | 2015-07-20 | 2015-07-20 | 一种对Android平台应用程序进行测试的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104965791A CN104965791A (zh) | 2015-10-07 |
CN104965791B true CN104965791B (zh) | 2017-09-29 |
Family
ID=54219826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510427089.4A Active CN104965791B (zh) | 2015-07-20 | 2015-07-20 | 一种对Android平台应用程序进行测试的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104965791B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597704B (zh) * | 2018-06-13 | 2023-09-26 | 百度在线网络技术(北京)有限公司 | 应用程序的压力测试方法、装置、服务器和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419732A (zh) * | 2011-12-27 | 2012-04-18 | Tcl集团股份有限公司 | 基于android平台的自动化测试方法及测试工具 |
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8966447B2 (en) * | 2010-06-21 | 2015-02-24 | Apple Inc. | Capturing and displaying state of automated user-level testing of a graphical user interface application |
JP6008372B2 (ja) * | 2013-05-30 | 2016-10-19 | 日本電信電話株式会社 | グラフィカルユーザインタフェースの自動操作方法及び装置 |
-
2015
- 2015-07-20 CN CN201510427089.4A patent/CN104965791B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419732A (zh) * | 2011-12-27 | 2012-04-18 | Tcl集团股份有限公司 | 基于android平台的自动化测试方法及测试工具 |
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及*** |
Non-Patent Citations (1)
Title |
---|
基于调用堆栈的GUI测试研究;郭晶晶;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100915;第2010年卷(第09期);I138-355 * |
Also Published As
Publication number | Publication date |
---|---|
CN104965791A (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201941058A (zh) | 異常檢測方法及裝置 | |
US20150363296A1 (en) | Function test apparatus based on unit test cases reusing and function test method thereof | |
CN109885480B (zh) | 一种基于调试桥的自动化界面兼容性测试方法及装置 | |
KR102305872B1 (ko) | 검사 시스템, 웨이퍼 맵 표시기, 웨이퍼 맵 표시 방법, 및 기록 매체에 저장된 컴퓨터 프로그램 | |
CN112286811A (zh) | 一种智能站继电保护设备测试方法、***及可读存储介质 | |
CN104965791B (zh) | 一种对Android平台应用程序进行测试的方法 | |
CN110781073A (zh) | 安全测试方法和*** | |
CN105868100A (zh) | 基于Android***的自动化测试方法及装置 | |
CN104601768A (zh) | Android手机自动化测试***及其测试方法 | |
CN115032523A (zh) | 芯片自动测试方法、***、计算机设备和存储介质 | |
CN107704376B (zh) | 游戏自动化测试方法及其*** | |
CN106154097A (zh) | 基板检查装置、基板检查方法以及基板检查程序 | |
CN111522725A (zh) | Ssd性能自动评估方法、装置、设备及介质 | |
CN109524054A (zh) | 一种多硬盘机型自动定位测试方法及装置 | |
CN106708728B (zh) | 自动测试Android应用启动时间的方法及*** | |
CN107341110A (zh) | 一种软件测试定位补丁修改及影响范围的工具及实现方法 | |
CN110633213A (zh) | 单元测试方法、装置、计算机设备和存储介质 | |
CN113608089B (zh) | 开关电源mos管的soa测试方法、***、装置及可读存储介质 | |
WO2016011732A1 (zh) | 线路诊断方法及装置 | |
WO2017041530A1 (zh) | 一种软件度量检测方法和*** | |
CN113127324B (zh) | 测试报告自动化生成方法、装置、计算机设备及存储介质 | |
CN102708046A (zh) | 计算机软件调试方法 | |
KR100775102B1 (ko) | 임베디드 디바이스상에서 플랫폼 기반 어플리케이션의 품질테스트 결과 예측 시스템 및 그 방법 | |
CN102200572B (zh) | 仪器自检***及方法 | |
US20140173539A1 (en) | Method and Apparatus for Isolating and/or Debugging Defects in Integrated Circuit Designs |
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 | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180313 Granted publication date: 20170929 |
|
PP01 | Preservation of patent right | ||
PD01 | Discharge of preservation of patent | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20210313 Granted publication date: 20170929 |
|
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20210313 Granted publication date: 20170929 |
|
PD01 | Discharge of preservation of patent | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20240313 Granted publication date: 20170929 |