一种移动终端测试系统及方法

xiaoxiao2020-10-23  22

一种移动终端测试系统及方法
【技术领域】
[0001]本发明涉及移动终端技术领域,尤其涉及一种移动终端测试系统及方法。
【背景技术】
[0002]移动终端作为一种智能系统,越来越受到使用者的重视,因此被广泛的使用,移动终端生产厂家针对市场的需要,大规模的生产移动终端投入市场。
[0003]由于移动终端被投入市场前,必须经过测试程序,现有的移动终端测试程序通常采用测试脚本的形式,测试人员在编写完测试脚本后还需要手工的输入相应的指令来控制移动终端运行相应的测试脚本,使得移动终端的测试程序的测试效率很低,且由于存在手工输入指令的环节,容易产生错误,导致测试程序无法顺利完成,影响了移动终端投入市场的速度。

【发明内容】

[0004]针对现有的移动终端测试程序环节存在的上述问题,现提供一种,旨在避免手工输入指令的移动终端测试系统及方法。
[0005]具体技术方案如下:
[0006]一种移动终端测试系统,其中,包括:
[0007]第一控制单元,所述第一控制单元用以:
[0008]建立测试系统与待测试移动终端之间的连接,以及
[0009]获取所述待测试移动终端的最高权限;
[0010]第二控制单元,连接所述第一控制单元,所述第二控制单元用以:
[0011]设置测试脚本,以及
[0012]将所述测试脚本编译成匹配所述待测试移动终端执行的文件;
[0013]第三控制单元,连接所述第一控制单元,所述第三控制单元用以:
[0014]将所述第二控制单元编译形成的所述文件发送至所述待测试移动终端,
[0015]控制所述待测试移动终端执行所述文件;
[0016]所述第一控制单元还用以,启动所述第二控制单元,以及待所述第二控制单元执行完毕后,启动所述第三控制单元。
[0017]优选的,所述第一控制单元包括:
[0018]连接模块,用以建立所述测试系统与所述待测试移动终端的所述连接;
[0019]权限获取模块,待所述连接模块连接成功后,用以基于所述连接,获取所述待测试移动终端的最高权限;
[0020]第一启动模块,连接所述第二控制单元,待所述权限获取模块获取所述待测试移动终端的最高权限后,用以启动所述第二控制单元;
[0021]第二启动模块,连接所述第三控制单元,待所述第二控制单元执行完毕后,用以启动所述第三控制单元。
[0022]优选的,所述第二控制单元包括:
[0023]设置子单元,用以:
[0024]设置所述测试脚本,
[0025]对所述测试脚本编译后的文件进行预先的重命名,以及
[0026]定位所述测试脚本所在的路径;
[0027]第三启动模块,连接所述设置子单元,用以启动所述设置子单元;
[0028]编译模块,待所述设置子单元执行完毕后,用以根据所述路径,将所述测试脚本编译成匹配所述待测试移动终端执行的文件。
[0029]优选的,所述设置子单元包括:
[0030]设置及重命名模块,用以设置所述测试脚本,以及对所述测试脚本编译后的文件进行预先的重命名;
[0031]定位模块,用以定位所述测试脚本所在的路径。
[0032]优选的,所述设置子单元为批处理单元。
[0033]优选的,所述第三控制单元包括:
[0034]发送模块,用以基于所述连接,将所述第二控制单元编译形成的所述文件发送至所述待测试移动终端;
[0035]执行模块,待所述发送模块将所述第二控制单元编译形成的所述文件发送至所述待测试移动终端后,用以基于所述连接,控制所述待测试移动终端执行所述文件。
[0036]优选的,所述第三控制单元还包括:
[0037]删除模块,待所述执行模块控制所述待测试移动终端执行完毕所述文件后,用以基于所述连接,删除所述待测试移动终端上的所述文件。
[0038]优选的,所述第一控制单元为批处理单元;以及
[0039]所述第二控制单元为批处理单元;以及
[0040]所述第三控制单元为批处理单元。
[0041]优选的,所述第一控制单元还包括暂停模块,所述暂停模块于所述第三控制单元执行完毕后控制所述测试系统进入暂停状态。
[0042]还提供,一种移动终端测试方法,其中,包括如下步骤:
[0043]步骤1、建立与待测试移动终端之间的连接;
[0044]步骤2、获取所述待测试移动终端的最高权限;
[0045]步骤3、设置测试脚本;
[0046]步骤4、将所述测试脚本编译成匹配所述待测试移动终端执行的文件;
[0047]步骤5、将所述文件发送至所述待测试移动终端;
[0048]步骤6、控制所述待测试移动终端执行所述文件。
[0049]上述技术方案的有益效果是:
[0050]避免了测试程序中手工输入指令的缺陷,实现全自动的对测试脚本进行设置,编译,以及执行,从而提高了测试效率,降低了错误发生的可能性。
【附图说明】
[0051]图1为本发明测试系统的一种实施例的结构示意图;
[0052]图2为本发明中第一控制单元的一种实施例的结构示意图;
[0053]图3为本发明中第二控制单元的一种实施例的结构示意图;
[0054]图4为本发明中第三控制单元的一种实施例的结构示意图;
[0055]图5为本发明中设置子单元的一种实施例的结构示意图;
[0056]图6为本发明测试方法的一种实施例的步骤流程框图;
[0057]图7为本发明中设置子单元独立于第二控制单元之外的一种实施例的结构示意图。
【具体实施方式】
[0058]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0059]如图1所示,本发明的技术方案中提供一种移动终端测试系统,在一种较优的实施方式中,移动终端测试系统可包括:第一控制单元10,第一控制单元10用以,建立测试系统00与待测试移动终端01之间的连接,以及获取待测试移动终端01的最高权限;第二控制单元20,连接第一控制单元10,第二控制单元20用以,设置预先完成的测试脚本,以及将测试脚本编译成匹配待测试移动终端01执行的文件;第三控制单元30,连接第一控制单元10,第三控制单元30用以,将第二控制单元20编译形成的文件发送至待测试移动终端01,以及控制待测试移动终端01执行上述文件。
[0060]第一控制单元10还用以,启动第二控制单元20,以及待第二控制单元20执行完毕后,启动第三控制单元30。
[0061]上述技术方案中,通过启动第一控制单元10,可自动地完成于测试系统00与待测试移动终端01之间建立连接,并且在连接建立后获取待测试移动终端的最高权限。在此基础上,第一控制单元10于获得待测试移动终端01的最高权限后,启动第二控制单元20,由第二控制单元20自动的对预先准备好的测试脚本进行设置,以适应之后的编译过程,设置完毕后,由第二控制单元20对测试脚本进行编译,以形成匹配待测试移动终端01执行的文件,当第二控制单元20完成文件的编译后,第一控制单元10启动第三控制单元30,由第三控制单元30将第二控制单元20编译完成的文件发送至待测试移动终端01,并由第三控制单元30控制待测试移动终端01执行上述文件,以完成测试程序,整个测试程序自动完成,不需要手工输入控制指令,从而提高了测试效率,降低了错误产生的可能性。
[0062]在一种较优的实施方式中,如图2所示,第一控制单元10包括,连接模块11,用以建立测试系统00与待测试移动终端01的连接;权限获取模块12,待连接模块11连接成功后,用以基于连接,获取待测试移动终端01的最高权限;第一启动模块13,连接第二控制单元20,待权限获取模块12获取待测试移动终端01的最高权限后,用以启动第二控制单元20 ;第二启动模块14,连接第三控制单元30,待第二控制单元20执行完毕后,用以启动第三控制单元30。
[0063]在一种较优的实施方式中,第一控制单元10可以是批处理单元。在此基础上,第一控制单元10可以以下方式实现:
[0064]以安卓(android)系统的移动终端为例,在此基础上,可以安装有windows操作系统的计算机作为测试系统的运行环境,在此基础上,可于测试系统上预置Ant工具(开源组织Apache推出的打包编译工具),进一步的,可于测试系统上预置安卓ADB驱动。
[0065]将待测试移动终端设置为USB调试模式,并通过USB电缆与测试系统连接。
[0066]在一种较优的实施方式中,连接模块可由以下代码实现:
[0067]adb-wait-device ;
[0068]通过上述代码可实现等待待测试移动终端与测试系统间建立正常连接后再执行后续t吴块。
[0069]在一种较优的实施方式中,权限获取模块可由以下代码实现:
[0070]adb root 67754400 ;
[0071]通过上述代码可获得待测试移动终端的ROOT权限(最高权限)。
[0072]在一种较优的实施方式中,第一启动模块可由以下代码实现:
[0073]cairC02.bat";
[0074]此处假定第二控制单元的名称为C02.bat,通过上述代码可实现对第二控制单元的调用,从而实现启动第二控制单元。
[0075]在一种较优的实施方式中,第二启动模块可由以下代码实现:
[0076]call"C03.bat";
[0077]此处假定第三控制单元的名称为C03.bat,通过上述代码可实现对第三控制单元的调用,从而实现启动第三控制单元。
[0078]上述实现第一启动模块和实现第二启动模块的代码按先后顺序排列,从而可实现在批处理单元中,先启动第二控制单元,待第二控制单元执行完毕后再启动第三控制单元。
[0079]作为一种较优的实施方式,可于第一控制单元内置Oecho off代码,以隐藏测试系统运行时的交互显示信息。
[0080]于上述技术方案基础上,进一步的,如图3所示,第二控制单元20可包括设置子单元40,设置子单元40用以设置测试脚本,对测试脚本编译后的文件进行预先的重命名,以及定位测试脚本所在的路径;第三启动模块21,连接设置子单元40,用以启动设置子单元
40;编译模块22,待设置子单元40执行完毕后,用以根据设置子单元40定位的路径,将测试脚本编译成匹配待测试移动终端01执行的文件。
[0081]在此基础上,进一步的,如图5所示,设置子单元40可包括:设置及重命名模块41,用以设置测试脚本,以及对测试脚本编译后的文件进行预先的重命名 ;定位模块42,用以定位测试脚本所在的路径。
[0082]在一种较优的实施方式中,如图7所示,设置子单元40可作为一独立的单元,独立于第二控制单元20之外。第二控制单元20可通过第三启动模块21启动设置子单元40。并于设置子单元40执行完毕后再执行编译模块22。
[0083]在一种较优的实施方式中,设置子单元40可以是批处理单元。在此基础上,设置子单元40可以以下方式实现:
[0084]在一种较优的实施方式中,设置及重命名模块以及定位模块可由以下代码实现:
[0085]set aa = “android create uitest-project-n UiAutomator-t 1-p”
[0086]% aa% % cd% \ ;
[0087]此处以UiAutomator测试脚本为例进行说明,UiAutomator测试脚本可通过eclipse工具预先编写完成。在此基础上,上述代码中android create uitest-pro ject-nUiAutomator-t 1-p的作用是,仓ll建UiAutomator测试脚本的编译配置文件,并且预先将编译后的文件名称命名为UiAutomator。由于该代码还需要输入测试脚本的路径,因此此处将其作为文本复值给变量aa,需要说明的是,变量名称仅为方便说明,并无任何限制的意图。上述代码% aa%% cd% \将变量aa的值与当前工作路径拼接,从而获得完整的android create uitest-pro ject_n〈name>-t 1- p〈path> 指令,并且实现对 UiAutomator测试脚本的定位。
[0088]在一种较优的实施方式中,第二控制单元20可以是批处理单元。在此基础上,第二控制单元20可以以下方式实现:
[0089]在一种较优的实施方式中,第三启动模块可由以下代码实现:
[0090]call"C04.bat";
[0091]此处假定设置子单元的名称为C04.bat,通过上述代码可实现对设置子单元的调用,从而实现启动设置子单元。
[0092]在一种较优的实施方式中,编译模块可由以下代码实现:
[0093]ant build ;
[0094]通过上述代码可实现调用测试系统中预置的ant工具对当前工作路径下的测试脚本进行打包编译。
[0095]于上述技术方案基础上,进一步的,如图4所示,第三控制单元30可包括:发送模块31,用以基于连接,将第二控制单元20编译形成的文件发送至待测试移动终端01 ;执行模块32,待发送模块31将第二控制单元20编译形成的文件发送至待测试移动终端01后,用以基于连接,控制待测试移动终端01执行上述文件。
[0096]在一种较优的实施方式中,第三控制单元30可以是批处理单元。在此基础上,第三控制单元30可以以下方式实现:
[0097]在一种较优的实施方式中,发送模块可由以下代码实现:
[0098]adb push% cd% \bin\UiAutomator.jar/data/local/tmp/ ;
[0099]通过上述代码可实现将编译UiAutomator测试脚本后形成的文件UiAutomator.jar推送到移动终端中的/data/local/tmp/路径下。
[0100]在一种较优的实施方式中,执行模块可由以下代码实现:
[0101]adb shell uiautomator runtest UiAutomator.jar_c com.xxx.test.TestOl ;
[0102]通过上述代码可实现执行待测试移动终端中对应UiAutomator测试脚本编译后形成的文件UiAutomator.jar,并且运行UiAutomator测试脚本中对应的测试用例com.xxx.test.TestOlο
[0103]在一种较优的实施方式中,第三控制单元30还可包括删除模块33,待执行模块32控制待测试移动终端01执行完毕上述文件后,用以基于连接,删除待测试移动终端01上的上述文件。
[0104]在一种较优的实施方式中,删除模块可由以下代码实现:
[0105]adb shell rm/data/local/tmp/*.jar ;
[0106]通过上述代码可实现将待测试移动终端/data/local/tmp/路径下所有的jar文件删除,即删除之前传送至待测试移动终端/data/local/tmp/路径下对应UiAutomator测试脚本的UiAutomator.jar文件,以恢复待测试移动终端原来的状态。
[0107]在一种较优的实施方式中,第一控制单元10还可包括暂停模块15,暂停模块15于第三控制单元30执行完毕后,控制测试系统00进入暂停状态。
[0108]在一种较优的实施方式中,暂停模块可由以下代码实现:
[0109]pause ;
[0110]通过上述代码可实现测试系统暂停,从而便于测试人员查看待测试移动终端上测试脚本的执行结果。
[0111]上述技术方案通过4个批处理单元实现,单元之间耦合度低,可根据需要分别进行独立的改进或者调整组合形式,并进一步的可将4个批处理单元封装于其他语言内,从而提高其适应性。进一步的,上述4个批处理单元也可配合其他界面使用,由相应的界面启动并于后台运行。
[0112]本发明的技术方案中还提供,一种移动终端测试方法,如图6所示,其中,包括如下步骤:
[0113]步骤1、建立与待测试移动终端之间的连接;
[0114]步骤2、获取待测试移动终端的最高权限;
[0115]步骤3、设置测试脚本;
[0116]步骤4、将测试脚本编译成匹配待测试移动终端执行的文件;
[0117]步骤5、将上述文件发送至待测试移动终端;
[0118]步骤6、控制待测试移动终端执行上述文件。
[0119]上述方法可通过批处理程序实现,从而克服了现有技术中需要手工输入指令的缺陷,提高了测试程序的效率,降低了出现错误的可能性。
[0120]以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
【主权项】
1.一种移动终端测试系统,其特征在于,包括: 第一控制单元,所述第一控制单元用以: 建立测试系统与待测试移动终端之间的连接,以及 获取所述待测试移动终端的最高权限; 第二控制单元,连接所述第一控制单元,所述第二控制单元用以: 设置测试脚本,以及 将所述测试脚本编译成匹配所述待测试移动终端执行的文件; 第三控制单元,连接所述第一控制单元,所述第三控制单元用以: 将所述第二控制单元编译形成的所述文件发送至所述待测试移动终端, 控制所述待测试移动终端执行所述文件; 所述第一控制单元还用以,启动所述第二控制单元,以及待所述第二控制单元执行完毕后,启动所述第三控制单元。2.如权利要求1所述移动终端测试系统,其特征在于,所述第一控制单元包括: 连接模块,用以建立所述测试系统与所述待测试移动终端的所述连接; 权限获取模块,待所述连接模块连接成功后,用以基于所述连接,获取所述待测试移动终端的最尚权限; 第一启动模块,连接所述第二控制单元,待所述权限获取模块获取所述待测试移动终端的最高权限后,用以启动所述第二控制单元; 第二启动模块,连接所述第三控制单元,待所述第二控制单元执行完毕后,用以启动所述第三控制单元。3.如权利要求1所述移动终端测试系统,其特征在于,所述第二控制单元包括: 设置子单元,用以: 设置所述测试脚本, 对所述测试脚本编译后的文件进行预先的重命名,以及 定位所述测试脚本所在的路径; 第三启动模块,连接所述设置子单元,用以启动所述设置子单元; 编译模块,待所述设置子单元执行完毕后,用以根据所述路径,将所述测试脚本编译成匹配所述待测试移动终端执行的文件。4.如权利要求3所述移动终端测试系统,其特征在于,所述设置子单元包括: 设置及重命名模块,用以设置所述测试脚本,以及对所述测试脚本编译后的文件进行预先的重命名; 定位模块,用以定位所述测试脚本所在的路径。5.如权利要求3所述移动终端测试系统,其特征在于,所述设置子单元为批处理单元。6.如权利要求1所述移动终端测试系统,其特征在于,所述第三控制单元包括: 发送模块,用以基于所述连接,将所述第二控制单元编译形成的所述文件发送至所述待测试移动终端; 执行模块,待所述发送模块将所述第二控制单元编译形成的所述文件发送至所述待测试移动终端后,用以基于所述连接,控制所述待测试移动终端执行所述文件。7.如权利要求6所述移动终端测试系统,其特征在于,所述第三控制单元还包括: 删除模块,待所述执行模块控制所述待测试移动终端执行完毕所述文件后,用以基于所述连接,删除所述待测试移动终端上的所述文件。8.如权利要求1所述移动终端测试系统,其特征在于,所述第一控制单元为批处理单元;以及 所述第二控制单元为批处理单元;以及 所述第三控制单元为批处理单元。9.如权利要求1所述移动终端测试系统,其特征在于,所述第一控制单元还包括暂停模块,所述暂停模块于所述第三控制单元执行完毕后控制所述测试系统进入暂停状态。10.一种移动终端测试方法,其特征在于,包括如下步骤: 步骤1、建立与待测试移动终端之间的连接; 步骤2、获取所述待测试移动终端的最高权限; 步骤3、设置测试脚本; 步骤4、将所述测试脚本编译成匹配所述待测试移动终端执行的文件; 步骤5、将所述文件发送至所述待测试移动终端; 步骤6、控制所述待测试移动终端执行所述文件。
【专利摘要】本发明公开了一种移动终端测试系统及方法,其中系统包括:第一控制单元,用以建立测试系统与待测试移动终端之间的连接,以及获取待测试移动终端的最高权限;第二控制单元,连接第一控制单元,第二控制单元用以:设置测试脚本,以及将测试脚本编译成匹配待测试移动终端执行的文件;第三控制单元,连接第一控制单元,第三控制单元用以将第二控制单元编译形成的文件发送至待测试移动终端,控制待测试移动终端执行文件;第一控制单元还用以,启动第二控制单元,以及待第二控制单元执行完毕后,启动第三控制单元。其避免了测试程序中手工输入指令的缺陷,实现全自动的对测试脚本进行设置,编译,以及执行,从而提高了测试效率,减少了错误发生的几率。
【IPC分类】G06F11/22
【公开号】CN104899122
【申请号】CN201510329329
【发明人】韩继梁
【申请人】上海斐讯数据通信技术有限公司
【公开日】2015年9月9日
【申请日】2015年6月12日

最新回复(0)