一种控制多台移动终端自动执行任务的方法及系统的制作方法

文档序号:6536390阅读:141来源:国知局
一种控制多台移动终端自动执行任务的方法及系统的制作方法
【专利摘要】本发明公开了一种控制多台移动终端自动执行任务的方法及系统,将本发明应用于手机的自动化测试时,通过在电脑端为每一与电脑建立连接的手机设置一单独的线程以及为需要执行的任务建立相应的任务实体,可控制多台手机同时执行不同的任务,极大地缩短自动化测试的执行时间,有效地提升了测试效率;同时,通过完善的任务执行结果确认及重新执行的机制,能够极大提升测试结果的准确率,也极大地保障了自动化测试的流畅性,有效减少测试过程中因出现各种异常而导致测试中断的问题。
【专利说明】一种控制多台移动终端自动执行任务的方法及系统
【技术领域】
[0001]本发明涉及一种控制多台移动终端自动执行任务的方法及系统。
【背景技术】
[0002]随着移动终端的普及,人们对移动终端的需求也越来越多、越来越高。对于移动终端制造商而言,移动终端(如智能手机)的测试也越来越复杂,随之而出现的是越来越多的自动化测试工具。但纵观市场上的自动化测试工具,只能单线程执行测试任务,每次只能使一台智能手机执行一个任务,从而使得测试的时间较长,效率比较低。

【发明内容】

[0003]为了克服现有技术中的不足,本发明提供一种控制多台移动终端自动执行任务的方法及测试终端,以提高测试的效率及测试准确率。
[0004]本发明是通过以下技术方案实现的:
一种控制多台移动终端自动执行任务的方法,所述方法包括:
51、将多台移动终端与测试终端连接,测试终端获取各移动终端的设备名称,建立端口映射,并构建移动终端实体,所述移动终端实体用于记录各移动终端的相关信息;
52、为已与测试终端建立连接的每一移动终端设置一单独的线程,所述线程用于检测对应的移动终端和执行任务;
53、获取需要执行的任务,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中,所述任务实体用于记录各任务的相关信息;
54、从任务队列中取出相应的任务,并将其分配发送至各移动终端;
55、各移动终端执行相应的任务,测试终端等待移动终端端返回执行结果;
56、当任务队列中的所有任务均已被执行完毕,测试终端收集执行结果并将其输出。
[0005]进一步地,所述步骤S5还包括:
551、若移动终端成功执行某一任务,则将执行结果返回至测试终端,测试终端接收执行结果并从任务队列中取出下一任务分配发送至该移动终端,若移动终端未成功执行某一任务,则将执行结果返回至测试终端,测试终端接收执行结果并发送相关指令,使该移动终端重新执行该任务;
552、若重新执行该任务成功,则测试终端更新执行结果,并从任务队列中取出下一任务分配发送至该移动终端;若重新执行该任务失败,则标志重新执行该任务失败,测试终端更改任务执行状态,从任务队列中取出下一任务分配发送至该移动终端,同时将标志重新执行失败的任务添加至任务队列中的待执行任务的位置处。
[0006]优选地,所述步骤S52中,在重新执行任务过程中,若重复执行某一任务的次数超过预设值,才标志重新执行该任务失败,测试终端更改任务执行状态;所述任务队列中的待执行任务的位置处优选为任务队列的最末端位置;所述的测试终端为电脑,所述的移动终%5为手机。[0007]较佳地,所述移动终端实体记录各移动终端的相关信息包括各移动终端的移动终端名称、连接端口号、是否已与测试终端建立连接以及移动终端工作状态中的一项或多项信息;所述任务实体记录各任务的相关信息包括各任务的任务编号、被执行次数以及已被哪台移动终端执行中的一项或多项信息。
[0008]基于上述发明构思,本发明还提供了一种控制多台移动终端自动执行任务的系统,其应用于测试终端中,所述系统包括:
移动终端实体构建模块,用于当多台移动终端与测试终端连接,测试终端获取各移动终端的设备名称后,建立端口映射并构建移动终端实体,所述移动终端实体用于记录各移动终端的相关信息;
线程设置模块,用于为已与测试终端建立连接的每一移动终端设置一单独的线程,所述线程用于检测对应的移动终端和执行任务;
任务实体构建模块,用于当获取需要执行的任务后,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中,所述任务实体用于记录各任务的相关信息;任务分配发送模块,用于从任务队列中取出相应的任务,并将其分配发送至各移动终
端;
执行结果接收与输出模块,用于当各移动终端执行相应的任务后,接收来自各移动终端返回的执行结果,当任务队列中的所有任务均已被执行完毕,收集执行结果并将其输出。
[0009]进一步地,所述系统还包括有任务执行结果确认及任务重新执行模块,所述任务执行结果确认及任务重新执行模块用于:
当移动终端成功执行某一任务,将执行结果返回至测试终端后,测试终端接收执行结果并从任务队列中取出下一任务分配发送至该移动终端;
当移动终端未成功执行任务,将执行结果返回至测试终端后,测试终端接收执行结果并发送相关指令,使该移动终端重新执行该任务;
若重新执行该任务成功,则测试终端更新执行结果,并从任务队列中取出下一任务分配发送至该移动终端;若重新执行该任务失败,则标志重新执行该任务失败,测试终端更改任务执行状态,从任务队列中取出下一任务分配发送至该移动终端,同时将标志重新执行失败的任务添加至任务队列中的待执行任务的位置处;在重新执行任务过程中,若重复执行某一任务的次数超过预设值,才标志重新执行该任务失败,测试终端更改任务执行状态。
[0010]所述移动终端实体记录各移动终端的相关信息包括各移动终端的移动终端名称、连接端口号、是否已与测试终端建立连接以及移动终端工作状态中的一项或多项信息;所述任务实体记录各任务的相关信息包括各任务的任务编号、被执行次数以及已被哪台移动终端执行中的一项或多项信息;所述任务队列中的待执行任务的位置处优选为任务队列的最末端位置;所述的测试终端为电脑,所述的移动终端为手机。
[0011]将本发明应用于手机的自动化测试时,通过在电脑端为每一与电脑建立连接的手机设置一单独的线程以及为需要执行的任务建立相应的任务实体,可控制多台手机同时执行不同的任务,极大地缩短自动化测试的执行时间,有效地提升了测试效率;同时,通过完善的任务执行结果确认及重新执行的机制,能够极大提升测试结果的准确率,也极大地保障了自动化测试的流畅性,有效减少测试过程中因出现各种异常而导致测试中断的问题。【专利附图】

【附图说明】
[0012]附图1为本发明实施例的方法流程示意图;
附图2为本发明实施例中一种控制多台移动终端自动执行任务的系统的结构模块示意图;
附图3为本发明具体实施例的流程示意简图。
【具体实施方式】
[0013]为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述。
[0014]如附图1所示,一种控制多台移动终端自动执行任务的方法,所述方法包括:
51、将多台移动终端与测试终端连接,测试终端获取各移动终端的设备名称,建立端口映射,并构建移动终端实体,所述移动终端实体用于记录各移动终端的相关信息;
52、为已与测试终端建立连接的每一移动终端设置一单独的线程,所述线程用于检测对应的移动终端和执行任务;
53、获取需要执行的任务,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中,所述任务实体用于记录各任务的相关信息;
54、从任务队列中取出相应的任务,并将其分配发送至各移动终端;
55、各移动终端执行相应的任务,测试终端等待移动终端端返回执行结果;
551、若移动终端成功执行某一任务,则将执行结果返回至测试终端,测试终端接收执行结果并从任务队列中取出下一任务分配发送至该移动终端,若移动终端未成功执行某一任务,则将执行结果返回至测试终端,测试终端接收执行结果并发送相关指令,使该移动终端重新执行该任务;
552、若重新执行该任务成功,则测试终端更新执行结果,并从任务队列中取出下一任务分配发送至该移动终端;若重新执行该任务失败,则标志重新执行该任务失败,测试终端更改任务执行状态,从任务队列中取出下一任务分配发送至该移动终端,同时将标志重新执行失败的任务添加至任务队列中的待执行任务的位置处;本步骤S52中,在重新执行任务过程中,若重复执行某一任务的次数超过预设值,才标志重新执行该任务失败,测试终端更改任务执行状态;所述任务队列中的待执行任务的位置处优选为任务队列的最末端位置;
56、当任务队列中的所有任务均已被执行完毕,测试终端收集执行结果并将其输出。
[0015]其中,所述移动终端实体记录各移动终端的相关信息包括各移动终端的移动终端名称、连接端口号、是否已与测试终端建立连接以及移动终端工作状态中的一项或多项信息;所述任务实体记录各任务的相关信息包括各任务的任务编号、被执行次数以及已被哪台移动终端执行中的一项或多项信息。
[0016]如附图2所示为本发明提供的一种控制多台移动终端自动执行任务的系统,应用于测试终端中,所述系统包括:
移动终端实体构建模块,用于当多台移动终端与测试终端连接,测试终端获取各移动终端的设备名称后,建立端口映射并构建移动终端实体,所述移动终端实体用于记录各移动终端的相关信息;
线程设置模块,用于为已与测试终端建立连接的每一移动终端设置一单独的线程,所述线程用于检测对应的移动终端和执行任务;
任务实体构建模块,用于当获取需要执行的任务后,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中,所述任务实体用于记录各任务的相关信息;任务分配发送模块,用于从任务队列中取出相应的任务,并将其分配发送至各移动终
端;
任务执行结果确认及任务重新执行模块,其用于:
当移动终端成功执行某一任务,将执行结果返回至测试终端后,测试终端接收执行结果并从任务队列中取出下一任务分配发送至该移动终端;
当移动终端未成功执行任务,将执行结果返回至测试终端后,测试终端接收执行结果并发送相关指令,使该移动终端重新执行该任务;
若重新执行该任务成功,则测试终端更新执行结果,并从任务队列中取出下一任务分配发送至该移动终端;若重新执行该任务失败,则标志重新执行该任务失败,测试终端更改任务执行状态,从任务队列中取出下一任务分配发送至该移动终端,同时将标志重新执行失败的任务添加至任务队列中的待执行任务的位置处;在重新执行任务过程中,若重复执行某一任务的次数超过预设值,才标志重新执行该任务失败,测试终端更改任务执行状态;
执行结果接收与输出模块,用于当各移动终端执行相应的任务后,接收来自各移动终端返回的执行结果,当任务队列中的所有任务均已被执行完毕,收集执行结果并将其输出。
[0017]其中,所述移动终端实体记录各移动终端的相关信息包括各移动终端的移动终端名称、连接端口号、是否已与测试终端建立连接以及移动终端工作状态中的一项或多项信息;所述任务实体记录各任务的相关信息包括各任务的任务编号、被执行次数以及已被哪台移动终端执行中的一项或多项信息;所述任务队列中的待执行任务的位置处优选为任务队列的最末端位置。
[0018]下面将本发明应用于手机的自动化测试作为具体的实施例对本发明作更进一步的阐述说明,其中,测试终端以电脑(PC)、移动终端以采用Android系统的手机为具体实施例来进行详细说明。
[0019]步骤001、将多台手机与PC连接,PC获取各手机的设备名称,建立端口映射,并构建手机实体。
[0020]在本实施例中,各手机与PC之间通过数据线(如USB数据线)连接,在连接完毕之后,PC端通过“ADB Forward”建立端口映射,这样就可以利用Socket通信来进行PC端和手机端的数据传输了。PC端再通过“ADB Devices”获取到各手机的名称来作为每台手机的身份标识,从而构建手机实体。ADB的全称为Android Debug Bridge,就是起到调试桥的作用。ADB是Android SDK的一个工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备。手机实体用于记录手机的相关信息,在本实施例中,手机实体记录各手机的相关信息包括各手机的手机名称、连接端口号、是否已与PC建立连接、手机工作状态等等。
[0021]步骤002、在PC端为每一台已与其建立连接的手机设置一单独的线程,各线程用于检测对应的手机和执行相应的任务。
[0022]步骤003、获取需要执行的任务,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中。
[0023]PC端在获取需要执行的任务后,为各任务分别构建任务实体,任务实体用于记录各任务的任务编号、被执行次数以及已被哪手机执行等相关信息。
[0024]步骤004、从任务队列中取出相应的任务,并将其分配发送至各手机;在构建任务实体,将各任务实体添加到任务队列后,即可从任务队列中取出任务分配发送至手机端执行。本实施例中,假设与PC连接的手机为三台,分别为手机A、B、C,从任务队列中取出任务编号为1、2、3的任务分别分配发送到手机A、B、C。
[0025]步骤005、各手机执行相应的任务,PC端等待各手机返回执行结果。若手机A成功执行任务1,则将执行结果返回至PC端,PC端收集该执行结果,并从任务队列中取出下一任务(如任务4)分配发送至手机A ;若手机B未成功执行任务2,则将执行结果返回至PC端,PC端接收执行结果并发送相关指令,使手机B重新执行该任务2 ;若重新执行该任务2成功,则PC端更新执行结果,并从任务队列中取出下一任务(如任务5)分配发送至手机B ;若重新执行任务2失败,可重复执行该任务2多次(重复执行的次数可由用户预设,本实施例中,重复执行的次数为两次,即在重新执行任务过程中,重复执行某一任务的次数的预设值为2),则标志重新执行该任务失败,PC端更改任务执行状态,从任务队列中取出下一任务(如任务5)分配发送至该移动终端,同时将标志重新执行失败的任务(即任务2)添加至任务队列中的待执行任务的位置处,这里,待执行任务的位置处可以为还没有被执行过的任务的位置处(如任务6、7、8……等之间的位置处,本实施例优选为任务队列的最末端位置)。手机C执行任务的过程与上述手机A、B执行的任务类似,这里不再赘述。在各手机执行任务的过程中,若任务的数量多于手机的数量时,PC端会取出相应的任务分配发送至各手机,以确保每台手机都有任务执行,并且所执行的任务也各不相同,即可使多台手机同时执行不同的任务,使得其执行任务的时间大大缩短,
在任务被执行的过程中,手机实体会相应地记录手机的的工作状态等相关信息,如手机已有任务在执行时,手机的工作状态为忙,则将手机的工作状态置为1,手机已执行完某一任务,PC还没有相应的任务分配时,手机的工作状态为空闲,则将其工作状态置为0,若PC端已将某一任务分配发送给该手机后,则又将手机的工作状态置为I ;同时,任务实体也会在任务过程中记录各任务的被执行次数,已被哪台手机执行等信息,如上述所说的任务2,若其被手机B首次执行失败,并被手机重复执行的过程中,对应的任务实体会记录任务2已被手机B执行,其被手机B执行的次数;若其被手机B执行的次数已达3次(即被手机B重复执行的次数为两次),且在第三次被执行后还失败的话,将会被标志重新执行该任务失败。在任务被执行的过程中,本实施例通过完善的任务执行结果确认及重新执行的机制,能够极大提升测试结果的准确率,也极大地保障了自动化测试的流畅性,有效减少测试过程中因出现各种异常而导致测试中断的问题。
[0026]步骤006、当任务队列中的所有任务均已被执行完毕,PC端收集执行结果并将其输出。
[0027]本具体实施例的简要流程可参阅附图3,这里不再赘述。另外,需要说明的是,本发明不仅仅适用于手机(或其他移动终端)的自动化测试,还可适用于将大量文件传送至多台手机(或其他移动终端),在多台手机(或其他移动终端)上安装大量软件等。
[0028]上述实施例中提到的内容为本发明较佳的实施方式,并非是对本发明的限定,在不脱离本发明构思的前提下,任何显而易见的替换均在本发明的保护范围之内。
【权利要求】
1.一种控制多台移动终端自动执行任务的方法,所述方法包括: 51、将多台移动终端与测试终端连接,测试终端获取各移动终端的设备名称,建立端口映射,并构建移动终端实体,所述移动终端实体用于记录各移动终端的相关信息; 52、为已与测试终端建立连接的每一移动终端设置一单独的线程,所述线程用于检测对应的移动终端和执行任务; 53、获取需要执行的任务,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中,所述任务实体用于记录各任务的相关信息; 54、从任务队列中取出相应的任务,并将其分配发送至各移动终端; 55、各移动终端执行相应的任务,测试终端等待移动终端返回执行结果; 56、当任务队列中的所有任务均已被执行完毕,测试终端收集执行结果并将其输出。
2.根据权利要求1所述的方法,其特征在于,所述步骤S5还包括: 551、若移动终端成功执行某一任务,则将执行结果返回至测试终端,测试终端接收执行结果并从任务队列中取出下一任务分配发送至该移动终端,若移动终端未成功执行某一任务,则将执行结果返回 至测试终端,测试终端接收执行结果并发送相关指令,使该移动终端重新执行该任务; 552、若重新执行该任务成功,则测试终端更新执行结果,并从任务队列中取出下一任务分配发送至该移动终端;若重新执行该任务失败,则标志重新执行该任务失败,测试终端更改任务执行状态,从任务队列中取出下一任务分配发送至该移动终端,同时将标志重新执行失败的任务添加至任务队列中的待执行任务的位置处。
3.根据权利要求2所述的方法,其特征在于:所述步骤S52中,在重新执行任务过程中,若重复执行某一任务的次数超过预设值,才标志重新执行该任务失败,测试终端更改任务执行状态。
4.根据权利要求3所述的方法,其特征在于:所述任务队列中的待执行任务的位置处优选为任务队列的最末端位置。
5.根据权利要求1~4中任一项所述的方法,其特征在于:所述移动终端实体记录各移动终端的相关信息包括各移动终端的移动终端名称、连接端口号、是否已与测试终端建立连接以及移动终端工作状态中的一项或多项信息;所述任务实体记录各任务的相关信息包括各任务的任务编号、被执行次数以及已被哪台移动终端执行中的一项或多项信息。
6.根据权利要求1~4中任一项所述的方法,其特征在于:所述的测试终端为电脑,所述的移动终端为手机。
7.—种控制多台移动终端自动执行任务的系统,应用于测试终端中,其特征在于,所述系统包括: 移动终端实体构建模块,用于当多台移动终端与测试终端连接,测试终端获取各移动终端的设备名称后,建立端口映射并构建移动终端实体,所述移动终端实体用于记录各移动终端的相关信息; 线程设置模块,用于为已与测试终端建立连接的每一移动终端设置一单独的线程,所述线程用于检测对应的移动终端和执行任务; 任务实体构建模块,用于当获取需要执行的任务后,分别为每一单独的任务构建一任务实体,并将各任务实体添加至任务队列中,所述任务实体用于记录各任务的相关信息;任务分配发送模块,用于从任务队列中取出相应的任务,并将其分配发送至各移动终端;执行结果接收与输出模块,用于当各移动终端执行相应的任务后,接收来自各移动终端返回的执行结果,当任务队列中的所有任务均已被执行完毕,收集执行结果并将其输出。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括有任务执行结果确认及任务重新执行模块,所述任务执行结果确认及任务重新执行模块用于: 当移动终端成功执行某一任务,将执行结果返回至测试终端后,测试终端接收执行结果并从任务队列中取出下一任务分配发送至该移动终端; 当移动终端未成功执行任务,将执行结果返回至测试终端后,测试终端接收执行结果并发送相关指令,使该移动终端重新执行该任务; 若重新执行该任务成功,则测试终端更新执行结果,并从任务队列中取出下一任务分配发送至该移动终端;若重新执行该任务失败,则标志重新执行该任务失败,测试终端更改任务执行状态,从任务队列中取出下一任务分配发送至该移动终端,同时将标志重新执行失败的任务添加至任务队列中的待执行任务的位置处;在重新执行任务过程中,若重复执行某一任务的次数超过预设值,才标志重新执行该任务失败,测试终端更改任务执行状态。
9.根据权利要求8所述的系统,其特征在于:所述移动终端实体记录各移动终端的相关信息包括各移动终端的移动终端名称、连接端口号、是否已与测试终端建立连接以及移动终端工作状态中的一项或多项信息;所述任务实体记录各任务的相关信息包括各任务的任务编号、被执行次数以及已被哪台移动终端执行中的一项或多项信息;所述任务队列中的待执行任务的位置处优选为任务队列的最末端位置。
10.根据权利要求7~9中任一项所述的系统,其特征在于:所述的测试终端为电脑,所述的移动终端为手 机。
【文档编号】G06F9/46GK103744761SQ201410027603
【公开日】2014年4月23日 申请日期:2014年1月22日 优先权日:2014年1月22日
【发明者】李鹏, 陈鹏辉 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1