一种Monkey测试方法及系统的制作方法

文档序号:6619781阅读:189来源:国知局
一种Monkey测试方法及系统的制作方法【专利摘要】本发明提供一种Monkey测试方法及系统,用于对智能终端的系统进行测试,方法包括:在智能终端内安装APK,并通过执行APK安装后的应用程序来获取智能终端内所有的APK安装包名称;将获取的所有的APK安装包名称读取到JavaTable控件中;通过JavaTable控件展现所有的APK安装包名称并通过勾选确定部分或全部所要测试的APK安装包名称;确定其他测试选项要素;将确定的APK安装包名称和其他测试选项要素写入JavaList类中;根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行执行语句以完成对智能终端系统的测试。本发明显加大Monkey测试的智能程度,能够根据实际需要自由选择测试的应用程序,更符合测试的实际需要。【专利说明】-种Monkey测试方法及系统【
技术领域
】[0001]本发明涉及Monkey测试【
技术领域
】,特别是涉及一种Monkey测试方法及系统。【
背景技术
】[0002]Monkey测试(MonkeyTest)也有人叫做搞怪测试,就是用一些稀奇古怪的操作方式去测试被测试系统,以测试系统的稳定性。MonkeyTest-般指这样的测试活动,用毫无规律的指令或操作使用被测系统,观察系统的稳定性和容错性能。[0003]Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户触发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。[0004]现有技术进行Monkey测试时指令过于繁琐,只能对固定的APK包名进行循环测试,且执行时会有CMD命令解释器弹出,容易误操作。【
发明内容】[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Monkey测试方法及系统,用于解决现有技术中Monkey测试中只能对固定的APK包名进行循环测试,且执行时需要在CMD命令解释器输入指令而导致的容易误操作的问题。[0006]为实现上述目的及其他相关目的,本发明在一方面提供一种Monkey测试方法,用于对智能终端的系统进行测试,所述Monkey测试方法包括:在智能终端内安装用于获取智能终端内所有APK安装包名称的APK,并通过执行APK安装后的应用程序来获取智能终端内所有的APK安装包名称;将获取的所有的APK安装包名称读取到用于Monkey测试的Java测试平台的JavaTable控件中;通过JavaTable控件展现所有的APK安装包名称并通过勾选确定部分或全部所要测试的APK安装包名称;确定Java测试平台内其他测试选项要素;将确定的APK安装包名称和所述其他测试选项要素写入JavaList类中;根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行所述执行语句以完成对智能终端系统的测试。[0007]优选地,通过执行APK安装后的应用程序生成包含智能终端内所有的APK安装包名称的TXT文件,导出所述TXT文件并将导出的TXT文件存储至承载Java测试平台的终端设备内,由Java测试平台自动读取所述TXT文件。[0008]优选地,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间。[0009]优选地,Java测试平台端通过JavaSwing建立用于Monkey测试的视窗界面。[0010]优选地,还包括在完成对智能终端系统的测试后生成测试报告。[0011]本发明在另外一方面提供一种Monkey测试系统,用于对智能终端的系统进行测试,所述Monkey测试系统至少包括:安装包名称获取模块,通过在智能终端内安装用于获取安装包名称的APK形成,用于获取智能终端内所有的APK安装包名称Java测试平台,用于Monkey测试,包括:安装包名称读取模块,用于读取所述安装包名称获取模块已经获取的所有的APK安装包名称JavaTable控件模块,与所述安装包名称读取模块相连,通过建立JavaTable控件展现所有的APK安装包名称并可供勾选部分或全部所要测试的APK安装包名称;其他测试选项选取模块,用于选取Java测试平台内其他测试选项要素;JavaList类模块,与所述JavaTable控件模块和所述其他测试选项选取模块相连,用于将选择的APK安装包名称和所述其他测试选项要素写入JavaList类中;测试执行模块,与所述JavaList类模块相连,根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行所述执行语句以完成对智能终端系统的测试。[0012]优选地,所述安装包名称获取模块内包含用于生成包含智能终端内所有的APK安装包名称的TXT文件的安装包名称文件生成单元;将TXT文件存储至承载Java测试平台的终端设备内,所述安装包名称读取模块自动读取所述TXT文件。[0013]优选地,在其他测试选项选取模块中,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间。[0014]优选地,所述Java测试平台还包括通过JavaSwing建立用于Monkey测试的视窗界面的JavaSwing模块。[0015]优选地,所述Java测试平台还包括在完成对智能终端系统的测试后用于生成测试报告的测试报告生成模块。[0016]如上所述,本发明的一种Monkey测试方法及系统,具有以下有益效果:[0017]1、在本发明中,先在智能终端(手机端)通过APK得到现有智能终端的全部APK包名,将APK包名通过Java测试平台(PC端)自动读取到JavaTable控件中,用户可以通过操作JavaTable控件表来选择想要测试的安装包名,加大Monkey测试智能程度,使得他更符合测试的实际需要,本发明在测试时不会出现CMD编译器,避免了误操作。[0018]2、本发明通过JavaSwing建立用于Monkey测试的视窗界面,实现了Monkey指令窗口化,方便人员的操作读写。[0019]3、本发明实现了APK包名的自动读取,对应应用名更清晰明了,使得测试更加简洁方便。[0020]4、本发明可以设定测试的循环次数,实现了APK包名独立循环测试,能够根据实际需要自由选择测试的应用程序,更符合测试实际应用和需求。【专利附图】【附图说明】[0021]图1显示为本发明的Monkey测试方法的流程示意图。[0022]图2显示为本发明的Monkey测试方法及系统中获取智能终端内所有的APK安装包名称的流程示意图。[0023]图3显示为本发明的Monkey测试方法及系统中Java测试平台进行测试的流程示意图。[0024]图4显示为本发明的Monkey测试方法中测试界面的示意图。[0025]图5显示为本发明的Monkey测试系统的结构示意图。[0026]元件标号说明[0027]1Monkey测试系统[0028]11安装包名称获取模块[0029]12Java测试平台[0030]121JavaSwing模块[0031]122安装包名称读取模块[0032]123其他测试选项选取模块[0033]124JavaTable控件模块[0034]125JavaList类模块[0035]126测试执行模块[0036]S11?S16步骤【具体实施方式】[0037]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。[0038]本发明的目的在于提供一种Monkey测试方法及系统,用于解决现有技术中Monkey测试中只能对固定的APK包名进行循环测试,且执行时需要在CMD命令解释器输入指令而导致的容易误操作的问题。以下将详细阐述本发明的一种Monkey测试方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种Monkey测试方法及系统。[0039]第一实施例[0040]本实施例提供一种Monkey测试方法,用于对智能终端的系统进行测试,请参阅图1,以下对本实施例中的Monkey测试方法进行详细说明。[0041]步骤S11,在智能终端内安装用于获取智能终端内所有APK安装包名称的APK,并通过执行APK安装后的应用程序来获取智能终端内所有的APK安装包名称。[0042]其中,所述智能终端为手机、平板电脑等。[0043]在智能终端内,通过执行APK安装后的应用程序生成包含智能终端内所有的APK安装包名称的TXT文件,导出所述TXT文件并将导出的TXT文件存储至承载Java测试平台的终端设备内,由Java测试平台自动读取所述TXT文件。也可以将导出的TXT文件存储至指定位置,由在Java测试平台内设定到该指定位置自动读取所述TXT文件。[0044]如图2所示,显示为手机端的运行流程图。首先在手机端安装用于获取智能终端内所有APK安装包名称的APK并执行,然后通过执行APK安装后的应用程序生成包含智能终端内所有的APK安装包名称的TXT文件;最后从手机端内导出所述TXT文件并将导出的TXT文件存储至指定位置。[0045]在导出并存储智能终端内包含智能终端内所有的APK安装包名称的TXT文件之后,开始在Java测试平台(Java端)内继续执行本实施例的方法。[0046]Java测试平台端通过JavaSwing建立用于Monkey测试的视窗界面。其中,JavaSwing是用户开发Java应用程序用户界面的开发工具包,这是Java【
技术领域
】人员所熟知的开发工具包,在此不再赘述。通过JavaSwing建立用于Monkey测试的视窗界面,可以实现Monkey指令窗口化,方便人员的操作读写。[0047]步骤S12,将获取的所有的APK安装包名称读取到用于Monkey测试的Java测试平台的JavaTable控件中;JavaTable控件(Jtable控件)是Java中的表格控件,通过Table表可以将界面要显示的内容以表格形式展示。[0048]如图3所示,Java测试平台启动后,首先会判断指定位置是否没有对应名称的TXT文件,若有的话,在Jtable控件上显示所有的APK安装包名称,若没有的话,在Jtable控件上显示为空,同时应给出相应提示,提示用户先先执行手机端获取包含智能终端内所有的APK安装包名称的TXT文件的步骤。[0049]步骤S13,如图4所示,通过JavaTable控件展现所有的APK安装包名称并通过勾选确定部分或全部所要测试的APK安装包名称,用户可以通过操作JavaTable控件表来选择想要测试的安装包名,也可删除不需要测试的安装包,本发明实现了APK包名的自动读取,对应应用名更清晰明了,使得测试更加简洁方便;本发明可以设定测试的循环次数,实现了APK包名独立循环测试,更符合测试实际应用和需求。所以本发明的测试方法加大Monkey测试智能程度,能够根据实际需要自由选择测试的应用程序,使得他更符合测试的实际需要。[0050]步骤S14,确定Java测试平台内其他测试选项要素。其中,在本实施例中,如图4所示,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间,其中,测试次数为每次Moneky执行的次数,也就是所要测试的次数,测试的循环次数为执行每次Moneky测试时单个APK循环的次数,延迟时间为执行每次Moneky测试的延时时间,延时时间的单位为秒。[0051]步骤S15,将确定的APK安装包名称和所述其他测试选项要素写入JavaList类中;在步骤S15中,如图3所示,首先判断是否选择已所要测试的APK安装包名称,若没有,则默认将JavaTable控件中的全部APK安装包写入JavaList类中,若用户已选择若干想要测试的APK安装包名称,则将用户选择的APK安装包写入JavaList类中。[0052]步骤S16,根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行所述执行语句以完成对智能终端系统的测试。在步骤S16中,在根据对应JavaList类中的测试要素生成执行语句之前,还应检测其他测试选项要素的输入是否合法,若合法则继续执行,若不合法应暂停执行,并给出相关提示。在测试执行过程中,根据用户输入的测试次数,[0053]在本实施例中,还包括在完成对智能终端系统的测试后生成测试报告。Java测试平台如图3所示。本通过本实施例的方法在Java测试平台内测试,在测试时不会出现CMD编译器,避免了误操作。[0054]第二实施例[0055]为实现上述Monkey测试方法,本实施例对应提供一种Monkey测试系统,请参阅图5,显示为本发明的一种Monkey测试系统的结构示意图。如图5所示,本实施例提供一种Monkey测试系统,用于对智能终端的系统进行测试,所述Monkey测试系统1至少包括:安装包名称获取模块11和Java测试平台12。[0056]所述安装包名称获取模块11通过在智能终端内安装用于获取安装包名称的APK形成,用于获取智能终端内所有的APK安装包名称。其中,所述智能终端为手机、平板电脑等。[0057]具体地,在本实施例中,所述安装包名称获取模块11内包含用于生成包含智能终端内所有的ΑΡΚ安装包名称的TXT文件的安装包名称文件生成单元;将TXT文件存储至承载Java测试平台12的终端设备内,也可以将导出的TXT文件存储至指定位置,由在Java测试平台12内设定到该指定位置自动读取所述TXT文件。[0058]如图2所示,显示为手机端的运行流程图。首先在手机端安装用于获取智能终端内所有APK安装包名称的APK并执行形成安装包名称获取模块11,然后通过所述安装包名称获取模块11生成包含智能终端内所有的APK安装包名称的TXT文件;最后从手机端内导出所述TXT文件并将导出的TXT文件存储至指定位置。[0059]所述Java测试平台12用于Monkey测试,所述Java测试平台12包括:JavaSwing模块121、安装包名称读取模块122、JavaTable控件模块124、其他测试选项选取模块123、JavaList类模块125以及测试执行模块126。[0060]所述JavaSwing模块121通过JavaSwing建立用于Monkey测试的视窗界面。Java测试平台12端通过JavaSwing建立用于Monkey测试的视窗界面。其中,JavaSwing是用户开发Java应用程序用户界面的开发工具包,这是Java【
技术领域
】人员所熟知的开发工具包,在此不再赘述。通过JavaSwing建立用于Monkey测试的视窗界面,可以实现Monkey指令窗口化,方便人员的操作读写。[0061]安装包名称读取模块122用于读取所述安装包名称获取模块11已经获取的所有的APK安装包名称,所述安装包名称读取模块122自动读取所述TXT文件。所述安装包名称读取模块122将获取的所有的APK安装包名称读取到用于Monkey测试的Java测试平台12的JavaTable控件中。[0062]Java测试平台12启动后,所述安装包名称读取模块122会判断指定位置是否没有对应名称的TXT文件,若有的话,在Jtable控件上显示所有的APK安装包名称,若没有的话,在Jtable控件上显示为空,同时应给出相应提示,提示用户先先在手机端获取包含智能终端内所有的APK安装包名称的TXT文件。[0063]JavaTable控件模块124与所述安装包名称读取模块122相连,通过建立JavaTable控件展现所有的APK安装包名称并可供勾选可供勾选部分或全部所要测试的APK安装包名称。用户可以通过操作JavaTable控件表来选择想要测试的安装包名,也可删除不需要测试的安装包,本发明实现了APK包名的自动读取,对应应用名更清晰明了,使得测试更加简洁方便;本发明可以设定测试的循环次数,实现了APK包名独立循环测试,更符合测试实际应用和需求。所以本发明的测试方法加大Monkey测试智能程度,能够根据实际需要自由选择测试的应用程序,使得他更符合测试的实际需要。[0064]其他测试选项选取模块123用于选取Java测试平台12内其他测试选项要素;在其他测试选项选取模块123中,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间。其中,在本实施例中,如图4所示,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间,其中,测试次数为每次Moneky执行的次数,也就是所要测试的次数,测试的循环次数为执行每次Moneky测试时单个APK循环的次数,延迟时间为执行每次Moneky测试的延时时间,延时时间的单位为毫秒。[0065]JavaList类模块125与所述JavaTable控件模块124和所述其他测试选项选取模块123相连,用于将选择的APK安装包名称和所述其他测试选项要素写入JavaList类中。在JavaList类模块125中,判断是否选择已所要测试的APK安装包名称,若没有,则默认将JavaTable控件中的全部APK安装包写入JavaList类中,若用户已选择若干想要测试的APK安装包名称,则将用户选择的APK安装包写入JavaList类中。[0066]测试执行模块126与所述JavaList类模块125相连,根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行所述执行语句以完成对智能终端系统的测试。在根据对应JavaList类中的测试要素生成执行语句之前,还应检测其他测试选项要素的输入是否合法,若合法则继续执行,若不合法应暂停执行,并给出相关提示。在测试执行过程中,根据用户输入的测试次数。[0067]所述Java测试平台12还包括在完成对智能终端系统的测试后用于生成测试报告的测试报告生成模块。本通过本实施例的系统在测试时不会出现CMD编译器,避免了误操作。[0068]综上所述,在本发明的Monkey测试方法及系统中,先在智能终端(手机端)通过APK得到现有智能终端的全部APK包名,将APK包名通过Java测试平台(PC端)自动读取到JavaTable控件中,用户可以通过操作JavaTable控件表来选择想要测试的安装包名,加大Monkey测试智能程度,使得他更符合测试的实际需要,本发明在测试时不会出现CMD编译器,避免了误操作;本发明通过JavaSwing建立用于Monkey测试的视窗界面,实现了Monkey指令窗口化,方便人员的操作读写;本发明实现了APK包名的自动读取,对应应用名更清晰明了,使得测试更加简洁方便;本发明可以设定测试的循环次数,实现了APK包名独立循环测试,能够根据实际需要自由选择测试的应用程序,更符合测试实际应用和需求。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。[〇〇69]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【
技术领域
】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。【权利要求】1.一种Monkey测试方法,用于对智能终端的系统进行测试,其特征在于,所述Monkey测试方法包括:在智能终端内安装用于获取智能终端内所有APK安装包名称的APK,并通过执行APK安装后的应用程序来获取智能终端内所有的APK安装包名称;将获取的所有的APK安装包名称读取到用于Monkey测试的Java测试平台的JavaTable控件中;通过JavaTable控件展现所有的APK安装包名称并通过勾选确定部分或全部所要测试的APK安装包名称;确定Java测试平台内其他测试选项要素;将确定的APK安装包名称和所述其他测试选项要素写入JavaList类中;根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行所述执行语句以完成对智能终端系统的测试。2.根据权利要求1所述的Monkey测试方法,其特征在于,通过执行APK安装后的应用程序生成包含智能终端内所有的APK安装包名称的TXT文件,导出所述TXT文件并将导出的TXT文件存储至承载Java测试平台的终端设备内,由Java测试平台自动读取所述TXT文件。3.根据权利要求1所述的Monkey测试方法,其特征在于,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间。4.根据权利要求1所述的Monkey测试方法,其特征在于,Java测试平台端通过JavaSwing建立用于Monkey测试的视窗界面。5.根据权利要求1所述的Monkey测试方法,其特征在于,还包括在完成对智能终端系统的测试后生成测试报告。6.-种Monkey测试系统,用于对智能终端的系统进行测试,其特征在于,所述Monkey测试系统至少包括:安装包名称获取模块,通过在智能终端内安装用于获取安装包名称的APK形成,用于获取智能终端内所有的APK安装包名称;Java测试平台,用于Monkey测试,包括:安装包名称读取模块,用于读取所述安装包名称获取模块已经获取的所有的APK安装包名称;JavaTable控件模块,与所述安装包名称读取模块相连,通过建立JavaTable控件展现所有的APK安装包名称并可供勾选部分或全部所要测试的APK安装包名称;其他测试选项选取模块,用于选取Java测试平台内其他测试选项要素;JavaList类模块,与所述JavaTable控件模块和所述其他测试选项选取模块相连,用于将选择的APK安装包名称和所述其他测试选项要素写入JavaList类中;测试执行模块,与所述JavaList类模块相连,根据对应JavaList类中的测试要素生成执行语句并通过建立新的进程来运行所述执行语句以完成对智能终端系统的测试。7.根据权利要求6所述的Monkey测试系统,其特征在于,所述安装包名称获取模块内包含用于生成包含智能终端内所有的APK安装包名称的TXT文件的安装包名称文件生成单元;将TXT文件存储至承载Java测试平台的终端设备内,所述安装包名称读取模块自动读取所述TXT文件。8.根据权利要求6所述的Monkey测试系统,其特征在于,在其他测试选项选取模块中,其他测试选项要素至少包括:测试次数、测试的循环次数和延迟时间。9.根据权利要求6所述的Monkey测试系统,其特征在于,所述Java测试平台还包括通过JavaSwing建立用于Monkey测试的视窗界面的JavaSwing模块。10.根据权利要求6所述的Monkey测试系统,其特征在于,所述Java测试平台还包括在完成对智能终端系统的测试后用于生成测试报告的测试报告生成模块。【文档编号】G06F11/36GK104063324SQ201410328337【公开日】2014年9月24日申请日期:2014年7月10日优先权日:2014年7月10日【发明者】陈潇潞申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1