本发明涉及应用测试技术领域,特别是涉及应用的测试方法、装置、计算机设备和存储介质。
背景技术:
随着移动终端的使用普及,移动终端上的各种应用开发的也越来越多。为了保证应用的稳定性,在应用上线之前,需要对其进行功能测试。
现有技术中,应用的功能测试时,在一台测试移动终端上执行应用,看功能是否正常。但是即使在一台测试移动终端上正常,也不排除会在个别其他移动终端上执行起来会有问题。而为了避免这个情况,在应用发布前,需要用不同型号的移动终端进行测试,看在不同型号移动终端上的功能是否正常。这就是应用的兼容性测试。也就是说,现有技术中需要测试一个应用在多台移动终端上是否兼容,按现有方式是在不同移动终端型号的时候上都要测试一遍,才能保证应用在各中型号的移动终端上兼容,这样的测试过程也可以称为应用的兼容性测试。
但是,现有的上述测试过程,需要测试人员在不同型号的移动终端上重复执行相同的操作,导致测试效率比较低。
技术实现要素:
基于此,有必要针对现有的测试效率低的技术问题,提供一种应用的测试方法、装置、计算机设备和存储介质,用于提高测试效率。
一种应用的测试方法,所述方法包括:
采集测试用户在主控移动终端上基于测试应用所作出的操作事件;
将所述操作事件转换成操作命令;
向云端服务器发送所述操作命令,以供所述云端服务器向多个安装有所述测试应用的测试移动终端发送所述操作命令,由各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
在其中一个实施例中,所述测试用户在所述移动终端上基于所述测试应用所作出的操作事件包括:打开所述测试应用的事件、在所述测试应用中执行的信息输入事件、或者在所述测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件;
所述操作行为类型包括单击、双击或滑动;所述操作位置信息包括所述主控移动终端的屏幕上的坐标信息、或所述主控移动终端的硬件按键的标识信息。
一种应用的测试方法,所述测试方法包括:
接收主控移动终端发送的操作命令,所述操作命令为所述主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
向多个安装有所述测试应用的测试移动终端发送所述操作命令,以供各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
在其中一个实施例中,接收主控移动终端发送的操作命令之后,向各个安装有所述测试应用的测试移动终端发送所述操作命令之前,所述方法还包括:
根据所述主控移动终端的型号、各所述测试移动终端的型号,对所述主控移动终端发送的所述操作命令进行转换,以转换成适用于各所述测试移动终端的操作命令;
对应地,向各个安装有所述测试应用的测试移动终端发送所述操作命令,包括:
向各个安装有所述测试应用的测试移动终端发送转换后的、能够适用于对应的所述测试移动终端的所述操作命令。
一种应用的测试方法,所述测试方法包括:
接收云端服务器发送的所述操作命令,所述操作命令为主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
在本地运行所述操作命令,以模拟所述测试用户在基于所述测试应用执行所述操作事件。
一种主控移动终端,所述主控移动终端包括:
采集模块,用于采集测试用户在主控移动终端上基于测试应用所作出的操作事件;
转换模块,用于将所述操作事件转换成操作命令;
发送模块,用于向云端服务器发送所述操作命令,以供所述云端服务器向各个安装有所述测试应用的测试移动终端发送所述操作命令,由各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
一种云端服务器,所述云端服务器包括:
接收模块,用于接收主控移动终端发送的操作命令,所述操作命令为所述主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
发送模块,用于向多个安装有所述测试应用的测试移动终端发送所述操作命令,以供各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
一种测试移动终端,所述测试移动终端包括:
接收模块,用于接收云端服务器发送的所述操作命令,所述操作命令为主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
执行模块,用于在本地运行所述操作命令,以模拟所述测试用户在基于所述测试应用执行所述操作事件。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述任一所述应用的测试方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一所述应用的测试方法的步骤。
上述应用的测试方法、装置、计算机设备和存储介质,通过采集测试用户在主控移动终端上基于测试应用所作出的操作事件;将操作事件转换成操作命令;向云端服务器发送操作命令,以供云端服务器向多个安装有测试应用的测试移动终端发送操作命令,由各测试移动终端在本地运行操作命令,以模拟测试用户在对应的测试移动终端上基于测试应用执行操作事件。采用本发明的上述技术方案,测试用户只需要在主控移动终端上执行操作事件,多个测试移动终端侧都可以执行该操作事件,以模拟测试用户在测试移动终端上执行了同样操作事件,从而实现同时对多个移动终端的测试,而不用单独对每一个移动终端执行一次测试,从而能够有效地提高测试效率。
附图说明
图1为本发明的应用的测试方法的实施环境图。
图2为本发明的应用的测试方法实施例一的流程图。
图3为本发明的应用的测试方法实施例二的流程图。
图4为本发明的应用的测试方法实施例三的流程图。
图5为本发明的应用的测试方法实施例四的信令图。
图6为本发明的主控移动终端实施例的结构示意图。
图7为本发明的云端服务器实施例一的结构示意图。
图8为本发明的云端服务器实施例二的结构示意图。
图9为本发明的测试移动终端实施例一的结构示意图。
图10为本发明的测试移动终端实施例二的结构示意图。
图11为本发明的应用测试系统实施例的结构示意图。
图12所示为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明的应用的测试方法的实施环境图。如图1所示,在该实施环境中,包括主控移动终端100、云端服务器200以及多个测试移动终端300。其中在主控移动终端100和各测试移动终端300中都安装有测试应用。且主控移动终端100与各测试移动终端300分别与云端服务器200通信连接。
本实施例中,主控移动终端100与各测试移动终端300的型号均不相同,这样可以在不同的移动终端上同时测试相同的同一个应用,实现同时对不同型号的移动终端的应用兼容性进行测试。当然,本实施例中的任意一个测试移动终端也可以作为主控移动终端、主控移动终端也可以作为一个测试移动终端。本实施例中主控移动终端100和各测试移动终端300上安装的测试应用必须是完全相同的,即版本必须是相同的。例如,测试android版本的测试应用时,主控移动终端100和各测试移动终端300都必须是android系统的,测试ios版本的测试应用时,主控移动终端100和各测试移动终端300都必须是ios系统,对于其他操作系统,情况类似。
本实施例的主控移动终端100与各测试移动终端300的型号的具体可以表示为品牌a的1机型,品牌b的2机型、品牌c的3机型等等的表示方式。根据每一种移动终端的型号,可以知道该移动终端的操作系统、屏幕分辨率等等参数信息。
测试时,测试用户在主控移动终端100中基于测试应用作出操作事件,主控移动终端100采集该操作事件,并将该操作事件转换成操作命令,发送给渝云端服务器200。这样,云端服务器200便可以得知测试用户在主控移动终端上执行的是什么操作,并进一步将操作命令发送给各个测试移动终端300,使得各个测试移动终端也可以运行该操作命令,从而模拟测试用户在各测试移动终端300上基于测试应用执行该操作事件。
需要说明的是,本实施例的主控移动终端100和各测试移动终端300可为智能手机、平板电脑或者其他的移动设备等,但并不局限于此。主控移动终端100和各测试移动终端300可以通过蓝牙、或者wifi等无线通讯连接方式与云端服务器200进行连接,本发明在此不做限制。
图2为本发明的应用的测试方法实施例一的流程图。如图2所示,本实施例的应用的测试方法,具体可以包括如下步骤:
100、采集测试用户在主控移动终端上基于测试应用所作出的操作事件;
101、将操作事件转换成操作命令;
102、向云端服务器发送操作命令,以供云端服务器向多个安装有测试应用的测试移动终端发送操作命令,由各测试移动终端在本地运行操作命令,以模拟测试用户在对应的测试移动终端上基于测试应用执行操作事件。
本实施例的应用的测试方法,在主控移动终端侧描述本发明的技术方案。
可选地,本实施例的测试用户在移动终端上基于测试应用所作出的操作事件可以包括:打开测试应用的事件、在测试应用中执行的信息输入事件、或者在测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件。操作行为类型包括单击、双击或滑动;操作位置信息包括主控移动终端的屏幕上的坐标信息、或主控移动终端的硬件按键的标识信息。
例如,在android系统的主控移动终端中,操作事件可以转成脚本时可以采用如下的操作命令:
usage:input...
inputtext<string>
inputkeyevent<keycodenumberorname>
inputtap<x><y>
inputswipe<x1><y1><x2><y2>
keyevent指的是android对应的keycode,比如home键的keycode=3,back键的keycode=4;实现将测试用户点击主控移动终端的按键的事件转换成操作命令。
其中的tap是touch屏幕的操作事件,只需给出x、y坐标即可;这样,可以知道测试用户点击了主控移动终端的哪个位置,对于主控移动终端而言,可以基于当前测试应用的界面,可以知道测试用户点击了该位置的功能按钮,从而可以基于用户的点击做出响应。而主控移动终端将该操作事件转换成操作命令inputtap<x><y>后,将该操作命令发送给云端服务器后,由于每个测试移动终端与主控移动终端的型号不相同,所以屏幕分辨率可能也不相同,可以先根据主控移动终端的型号,获取主控移动终端的屏幕分辨率。并根据各测试移动终端的型号,获取各测试移动终端的屏幕分辨率。然后主控移动终端和各测试移动终端的屏幕分辨率,将主控移动终端发送的操作命令中的位置信息进行映射转换,并在转换后发送给对应的测试移动终端。这样由于打开的界面是相同的,从而可以能保证对应的测试移动终端在本地执行该操作命令时,模拟测试用户在测试移动终端上点击的功能按钮与测试用户在主控移动终端上点击的按钮是一样的。
比如主控移动终端的分辨率是1920*1080,测试用户若点了主控移动终端的屏幕中间点位置,即坐标为:x540,y960;主控移动终端生成的操作命令为tap(540,960),云端服务器根据主控移动终端的分辨率和测试移动终端的分辨率,将主控移动终端发送的操作命令中的位置信息进行转换。例如若测试移动终端的分辨率为1280*720,根据主控移动终端的分辨率和测试移动终端的分辨率,可以将操作命令的脚本转换成tap(360,640),则在测试移动终端执行该操作命令时,对应在测试移动终端的坐标360,640的位置处执行该点击操作。基于上述原理,若主控移动终端的操作位置点是x,y,主控移动终端的分辨率是a*b,测试移动终端分辨率是a*b,则进行位置映射转换后,测试移动终端上的操作位置点可以表示为a/a*x,b/b*y。按照此公式可以实现任意两种不同分辨率的所有操作位置点的映射转换。
swipe表示模拟滑动的事件,可以给出起点和终点的坐标即可;对于滑动事件的操作命令的转换,其中起点或者终点的映射转换均可以采用上述点击中操作位置点的转换,在此不再赘述。
例如,测试用户在主控移动终端上打开测试应用,主控移动终端检测到测试用户打开测试应用x的操作后,可以将该操作事件转换成操作命令,如open(appx),这样,主控移动终端可以将该操作命令发送给云端服务器。然后云端服务器将该操作命令,发送给多个测试移动终端,每个测试移动终端上都安装有该测试应用。这样,每个测试移动终端接收到该操作命令如open(appx),便执行打开该测试应用的操作,以模拟测试用户在每个测试移动终端上打开该测试应用。
再例如,测试用户在主控移动终端上打开测试应用后,点击登录后,采用测试账号和测试密码登录该测试应用x,对应地,该主控移动终端可以采集到该信息输入事件,并将该信息输入事件转换成操作命令,如转换的操作命令可以表示采用inputtext<string>的形式,在string中携带id:xxxxxx,password:yyyyyy即可。然后云端服务器将该操作命令,发送给多个测试移动终端,每个测试移动终端接收到该操作命令后,根据该操作命令,可以采用该测试账号和测试密码在该测试移动终端上登录该测试应用,从而模拟测试用户在每个测试移动终端上登录该测试应用。
上述操作命令的表示形式以android操作系统为例,实际应用中,对于ios或者其他操作系统,对于上述任意一种操作事件,也可以获取到适用的操作命令的表示形式,在此不再举例赘述。
需要说明的是,本实施例中,若主控移动终端在响应测试用户在主控移动终端上基于测试应用所作出的操作事件时,出现异常,可以将异常日志发送给云端服务器,以供云端服务器根据异常日志和主控移动终端的型号,生成测试报告。
本实施例的应用的测试方法,通过采集测试用户在主控移动终端上基于测试应用所作出的操作事件;将操作事件转换成操作命令;向云端服务器发送操作命令,以供云端服务器向多个安装有测试应用的测试移动终端发送操作命令,由各测试移动终端在本地运行操作命令,以模拟测试用户在对应的测试移动终端上基于测试应用执行操作事件。采用本实施例的上述技术方案,测试用户只需要在主控移动终端上执行操作事件,多个测试移动终端侧都可以执行该操作事件,以模拟测试用户在测试移动终端上执行了同样操作事件,从而实现同时对多个移动终端的测试,而不用单独对每一个移动终端执行一次测试,从而能够有效地提高测试效率。
图3为本发明的应用的测试方法实施例二的流程图。如图3所示,本实施例的应用的测试方法,具体可以包括如下步骤:
200、接收主控移动终端发送的操作命令,该操作命令为主控移动终端对采集到的测试用户在主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
201、向多个安装有测试应用的测试移动终端发送操作命令,以供各测试移动终端在本地运行操作命令,以模拟测试用户在对应的测试移动终端上基于测试应用执行操作事件。
本实施例的应用的测试方法,在云端服务器侧描述本发明的技术方案。
同理,本实施例中,测试用户在移动终端上基于测试应用所作出的操作事件包括:打开测试应用的事件、在测试应用中执行的信息输入事件、或者在测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件;
操作行为类型包括单击、双击或滑动;操作位置信息包括主控移动终端的屏幕上的坐标信息、或主控移动终端的硬件按键的标识信息。
实际应用中,若主控移动终端与各测试移动终端的分辨率相同或者操作事件中不涉及操作位置信息时,可以采用上述图3所示实施例的步骤200和201来实现。而实际应用中,若操作命令中涉及到操作位置信息,且主控移动终端与各测试移动终端的分辨率不同,这样,同一个功能按钮在不同移动终端上的位置信息不相同,在向测试移动终端发送操作命令之前,需要对主控移动终端发送的操作命令进行转换,以适合测试移动终端。此时,在上述实施例的步骤200“接收主控移动终端发送的操作命令”之后,步骤201“向各个安装有测试应用的测试移动终端发送操作命令”之前,还可以包括:根据主控移动终端的型号、各测试移动终端的型号,对主控移动终端发送的操作命令进行转换,以转换成适合各测试移动终端的操作命令。例如,具体可以包括如下步骤:
(a)根据主控移动终端的型号,获取主控移动终端的分辨率;
(b)根据各测试移动终端的型号,获取各测试移动终端分辨率;
(c)对于各测试移动终端,根据操作命令中的操作位置信息、主控移动终端的分辨率、对应测试移动终端分辨率,生成映射后的操作位置信息;
(d)利用映射后的操作位置信息,将主控移动终端发送的操作命令,转换成适用于该测试移动终端的操作命令。
如参考上述实施例的操作位置点转换示例,若主控移动终端发送的操作命令为tap(x,y),即对于主控移动终端的操作位置点是x,y,若主控移动终端的分辨率是a*b,某个测试移动终端分辨率是a*b,则进行位置映射转换后,测试移动终端上的操作位置点可以表示为a/a*x,b/b*y,这样,为该测试移动终端转换的操作命令可以表示为tap(a/a*x,b/b*y)。由于主控移动终端和测试移动终端上安装的是同一款应用,受主控移动终端和测试移动终端分辨率不同的影响,主控移动终端上的位置点x,y对应的功能按钮,必然与测试移动终端上的位置点a/a*x,b/b*y对应的功能按钮相同,这样,才可以实现测试用户在主控移动终端执行操作事件时,多个测试移动终端可以模拟被执行相同操作事件。
此时,对应地,步骤200“向各个安装有测试应用的测试移动终端发送操作命令”,包括:
向各个安装有测试应用的测试移动终端发送转换后的、能够适用于对应的测试移动终端的操作命令。
进一步可选地,在上述实施例的步骤200“向各个安装有测试应用的测试移动终端发送操作命令”之后,还可以包括如下步骤:
(a)接收多个测试移动终端中的目标测试移动终端在运行操作命令的过程中,出现异常时,发送的异常日志;
(b)根据目标测试移动终端的型号和异常日志,生成测试报告。
同理,各个测试移动终端在执行操作命令,可能会出现异常,并将异常情况记录在异常日志中。此时测试移动终端可以将异常日志发送给云端服务器,根据目标测试移动终端的型号和异常日志,生成测试报告。实际应用中,测试报告中可以包括同一款测试应用的多个异常情况。如某测试应用的测试报告中可以表示成如下形式:
型号a,异常日志;型号b,异常日志;型号c,异常日志;……等等。
这样,测试用户根据测试报告可以清楚该测试应用在哪些型号的移动终端中测试失败,具体测试失败的异常情况是什么,问题标识非常清楚,方便及时解决失败原因。
本实施例的应用的测试方法,通过采用上述技术方案,测试用户只需要在主控移动终端上执行操作事件,多个测试移动终端侧都可以执行该操作事件,以模拟测试用户在测试移动终端上执行了同样操作事件,从而实现同时对多个移动终端的测试,而不用单独对每一个移动终端执行一次测试,从而能够有效地提高测试效率。
图4为本发明的应用的测试方法实施例三的流程图。如图4所示,本实施例的应用的测试方法,具体可以包括如下步骤:
300、接收云端服务器发送的操作命令,该操作命令为主控移动终端对采集到的测试用户在主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
301、在本地运行操作命令,以模拟测试用户在基于测试应用执行该操作事件。
本实施例的应用的测试方法,在一个测试移动终端侧描述本发明的技术方案。本实施例中的测试环境中的任意一个测试移动终端都可以按照本实施例的技术方案,执行测试应用的测试。
本实施例中,测试用户在移动终端上基于测试应用所作出的操作事件包括:打开测试应用的事件、在测试应用中执行的信息输入事件、或者在测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件;
操作行为类型包括单击、双击或滑动;操作位置信息包括主控移动终端的屏幕上的坐标信息、或主控移动终端的硬件按键的标识信息。
进一步可选地,在本实施例的步骤301“在本地运行操作命令,以模拟测试用户在基于测试应用执行操作事件”之后,还可以包括:检测在运行操作命令的过程中,是否出现异常;若出现异常时,向云端服务器发送异常日志,以供云端服务器根据异常日志和发送异常日志的测试移动终端的型号,生成测试报告。
本实施例的应用的测试方法,在具体实施时,详细可以参考上述主控移动终端侧和云端服务器侧的实施例中的技术方案,在此不再赘述。
本实施例的应用的测试方法,通过采用上述技术方案,测试用户只需要在主控移动终端上执行操作事件,多个测试移动终端侧都可以执行该操作事件,以模拟测试用户在测试移动终端上执行了同样操作事件,从而实现同时对多个移动终端的测试,而不用单独对每一个移动终端执行一次测试,从而能够有效地提高测试效率。
图5为本发明的应用的测试方法实施例四的信令图。如图5所示,本实施例的应用的测试方法,在上述图2-图4所示实施例的技术方案的基础上,以包括3个测试移动终端a、b和c为例,进一步更加详细地介绍本发明的技术方案。如图5所示,本实施例的应用的测试方法,具体可以包括如下步骤:
400、主控移动终端采集测试用户在主控移动终端上基于测试应用所作出的涉及操作位置点的操作事件1;
401、主控移动终端将操作事件转换成操作命令1;
402、主控移动终端向云端服务器发送操作命令1;
403、云端服务器接收主控移动终端发送的操作命令1,根据主控移动终端的型号、测试移动终端a、b、c的型号,将操作命令1转换成适合测试移动终端a的操作命令2、适合测试移动终端b的操作命令3、适合测试移动终端c的操作命令4;
该步骤的具体实现可以参考上述图3所示实施例的相关记载,在此不再赘述。
404、云端服务器向测试移动终端a发送转换后的操作命令2;
405、云端服务器向测试移动终端b发送转换后的操作命令3;
406、云端服务器向测试移动终端c发送转换后的操作命令4;
407、测试移动终端a在本地运行操作命令2,以模拟测试用户在测试移动终端a上基于测试应用执行该操作事件1;
408、测试移动终端b在本地运行操作命令3,以模拟测试用户在测试移动终端b上基于测试应用执行该操作事件1;
409、测试移动终端c在本地运行操作命令4,以模拟测试用户在测试移动终端c上基于测试应用执行该操作事件1;
410、测试移动终端c在运行操作命令的过程中,出现异常时,向云端服务器发送异常日志;
411、云端服务器根据测试移动终端c发送的异常日志和测试移动终端c的型号,生成测试报告。
本实施例中,以测试移动终端a和测试移动终端b都能够正常运行操作命令,模拟测试用户在测试移动终端a和测试移动终端b上基于该测试应用执行相应的操作。而测试移动终端c不能够正常运行操作命令,说明该测试应用在该测试移动终端c的型号的机型上测试有问题。对应生成的测试报告中可以包括测试移动终端c的机型以及测试时出现异常的操作事件,以供测试人员解决该测试异常的问题。实际应用中,测试移动终端a和b、甚至主控移动终端都可以会出现测试异常,出现异常时,按照本实施例相同的处理方式,在此不再赘述。
本实施例中,以仅包括3个测试移动终端为例来描述本发明的技术方案,实际应用中,按照类似的方式,该架构中可以同时包括任意数量的测试移动终端。另外,本实施例中各步骤的具体实现方式,详细亦可以参考上述各实施例的具体实现方式,在此不再赘述。
本实施例的应用的测试方法,通过采用上述技术方案,测试用户只需要在主控移动终端上执行操作事件,多个测试移动终端侧都可以执行该操作事件,以模拟测试用户在测试移动终端上执行了同样操作事件,从而实现同时对多个移动终端的测试,而不用单独对每一个移动终端执行一次测试,从而能够有效地提高测试效率。
图6为本发明的主控移动终端实施例的结构示意图。如图6所示,本实施例的主控移动终端包括:
采集模块10用于采集测试用户在主控移动终端上基于测试应用所作出的操作事件;
转换模块11用于将采集模块10采集到的操作事件转换成操作命令;
发送模块12用于向云端服务器发送转换模块11转换后的操作命令,以供云端服务器向各个安装有测试应用的测试移动终端发送操作命令,由各测试移动终端在本地运行操作命令,以模拟测试用户在对应的测试移动终端上基于测试应用执行操作事件。
可选地,本实施例的测试用户在移动终端上基于测试应用所作出的操作事件可以包括:打开测试应用的事件、在测试应用中执行的信息输入事件、或者在测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件。操作行为类型包括单击、双击或滑动;操作位置信息包括主控移动终端的屏幕上的坐标信息、或主控移动终端的硬件按键的标识信息。
本实施例的主控移动终端,通过采用上述模块实现应用的测试的实现原理以及技术效果,与上述图2所示相关方法实施例相同,详细可以参考上述图2所示实施例的记载,在此不再赘述。
图7为本发明的云端服务器实施例一的结构示意图。如图7所示,本实施例的云端服务器,具体可以包括:
接收模块20用于接收主控移动终端发送的操作命令,操作命令为主控移动终端对采集到的测试用户在主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
发送模块21用于向多个安装有测试应用的测试移动终端发送接收模块20接收的操作命令,以供各测试移动终端在本地运行操作命令,以模拟测试用户在对应的测试移动终端上基于测试应用执行操作事件。
同理,本实施例中,测试用户在移动终端上基于测试应用所作出的操作事件包括:打开测试应用的事件、在测试应用中执行的信息输入事件、或者在测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件;
操作行为类型包括单击、双击或滑动;操作位置信息包括主控移动终端的屏幕上的坐标信息、或主控移动终端的硬件按键的标识信息。
本实施例的云端服务器,通过采用上述模块实现应用的测试的实现原理以及技术效果,与上述图3所示相关方法实施例相同,详细可以参考上述图3所示实施例的记载,在此不再赘述。
图8为本发明的云端服务器实施例二的结构示意图。如图8所示,本实施例的云端服务器,在上述图7所示实施例的技术方案的基础上,还可以包括如下技术方案。
如图8所示,本实施例的云端服务器,还包括:转换模块22,用于根据主控移动终端的型号、各测试移动终端的型号,对接收模块20接收到的主控移动终端发送的操作命令进行转换,以转换成适合各测试移动终端的操作命令。
进一步可选地,转换模块22具体可以用于:
根据主控移动终端的型号,获取主控移动终端的分辨率;
根据各测试移动终端的型号,获取各测试移动终端分辨率;
对于各测试移动终端,根据操作命令中的操作位置信息、主控移动终端的分辨率、对应测试移动终端分辨率,生成映射后的操作位置信息;
利用映射后的操作位置信息,将主控移动终端发送的操作命令,转换成适用于该测试移动终端的操作命令。
对应地,发送模块21具体用于向各个安装有测试应用的测试移动终端发送转换模块22转换后的、能够适用于对应的测试移动终端的操作命令。
进一步可选地,如图8所示,本实施例的云端服务器中,还包括生成模块23。
其中接收模块20还用于接收多个测试移动终端中的目标测试移动终端在运行操作命令的过程中,出现异常时,发送的异常日志;
生成模块23用于根据目标测试移动终端的型号和接收模块20接收的异常日志,生成测试报告。
同理,本实施例的云端服务器,通过采用上述模块实现应用的测试的实现原理以及技术效果,与上述图3所示相关方法实施例相同,详细可以参考上述图3所示实施例的记载,在此不再赘述。
图9为本发明的测试移动终端实施例一的结构示意图。如图9所示,本实施例的测试移动终端,具体可以包括:
接收模块30用于接收云端服务器发送的操作命令,操作命令为主控移动终端对采集到的测试用户在主控移动终端上基于测试应用所作出的操作事件进行转换得到的;
执行模块31用于在本地运行操作命令,以模拟测试用户在基于测试应用执行操作事件。
本实施例中,测试用户在移动终端上基于测试应用所作出的操作事件包括:打开测试应用的事件、在测试应用中执行的信息输入事件、或者在测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件;
操作行为类型包括单击、双击或滑动;操作位置信息包括主控移动终端的屏幕上的坐标信息、或主控移动终端的硬件按键的标识信息。
本实施例的测试移动终端,通过采用上述模块实现应用的测试的实现原理以及技术效果,与上述图4所示相关方法实施例相同,详细可以参考上述图4所示实施例的记载,在此不再赘述。
图10为本发明的测试移动终端实施例二的结构示意图。如图10所示,本实施例的测试移动终端,在上述图9所示实施例的技术方案的基础上,进一步更加详细地介绍本发明的技术方案。
如图10所示,本实施例的测试移动终端,还可以包括:
检测模块32,用于检测执行模块31在运行操作命令的过程中,是否出现异常;
发送模块33,用于若在检测模块32检测到出现异常时,向云端服务器发送异常日志,以供云端服务器根据异常日志和发送异常日志的测试移动终端的型号,生成测试报告。
同理,本实施例的测试移动终端,通过采用上述模块实现应用的测试的实现原理以及技术效果,与上述图4所示相关方法实施例相同,详细可以参考上述图4所示实施例的记载,在此不再赘述。
图11为本发明的应用测试系统实施例的结构示意图。如图11所示,本实施例的应用测试系统,包括:主控移动终端40、云端服务器50和多个测试移动终端60,主控移动终端40和各测试移动终端60分别与云端服务器50通信连接。
其中主控移动终端40可以采用如上图6所示的主控移动终端;各测试移动终端可以采用如上图9或者图10所示的测试移动终端;云端服务器可以采用如上图7或者图8所示的云端服务器。并且具体可以采用如上述图2-图5任一所示实施例的应用的测试方法,具体可以参考上述相关实施例的记载,在此不再赘述。
本发明,在一个实施例中,还提出了一种计算机设备。如图12所示为一个实施例中计算机设备的内部结构示意图。如图12所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库(图中未示出)和计算机可读指令(如图9所示,也可以称之为计算机程序)。数据库中可存储有控件信息序列,存储介质中的该计算机可读指令被处理器执行时,可使得处理器实现一种应用的测试。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中也可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种应用的测试。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。本实施例的计算机设备可以单独作为主控移动终端、云端服务器或者测试移动终端来实施本发明的技术方案。
具体地,在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:采集测试用户在主控移动终端上基于测试应用所作出的操作事件;将所述操作事件转换成操作命令;向云端服务器发送所述操作命令,以供所述云端服务器向多个安装有所述测试应用的测试移动终端发送所述操作命令,由各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
在一个实施例中,所述测试用户在所述移动终端上基于所述测试应用所作出的操作事件包括:打开所述测试应用的事件、在所述测试应用中执行的信息输入事件、或者在所述测试应用中的操作位置信息对应的操作位置上执行操作行为类型对应的操作事件;所述操作行为类型包括单击、双击或滑动;所述操作位置信息包括所述主控移动终端的屏幕上的坐标信息、或所述主控移动终端的硬件按键的标识信息。
或者,在另一个实施例中,处理器执行计算机可读指令时还执行以下步骤:接收主控移动终端发送的操作命令,所述操作命令为所述主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;向多个安装有所述测试应用的测试移动终端发送所述操作命令,以供各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
在另一个实施例中,处理器执行计算机可读指令时还执行以下步骤:根据所述主控移动终端的型号、各所述测试移动终端的型号,对所述主控移动终端发送的所述操作命令进行转换,以转换成适用于各所述测试移动终端的操作命令;对应地,向各个安装有所述测试应用的测试移动终端发送所述操作命令,包括:向各个安装有所述测试应用的测试移动终端发送转换后的、能够适用于对应的所述测试移动终端的所述操作命令。
或者在再一个实施例中,处理器执行计算机可读指令时还执行以下步骤:接收云端服务器发送的所述操作命令,所述操作命令为主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;在本地运行所述操作命令,以模拟所述测试用户在基于所述测试应用执行所述操作事件。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:采集测试用户在主控移动终端上基于测试应用所作出的操作事件;将所述操作事件转换成操作命令;向云端服务器发送所述操作命令,以供所述云端服务器向多个安装有所述测试应用的测试移动终端发送所述操作命令,由各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
或者,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收主控移动终端发送的操作命令,所述操作命令为所述主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;向多个安装有所述测试应用的测试移动终端发送所述操作命令,以供各所述测试移动终端在本地运行所述操作命令,以模拟所述测试用户在对应的所述测试移动终端上基于所述测试应用执行所述操作事件。
此时,在一个实施例中,处理器执行存储介质上的计算机可读指令时还执行以下步骤:根据所述主控移动终端的型号、各所述测试移动终端的型号,对所述主控移动终端发送的所述操作命令进行转换,以转换成适用于各所述测试移动终端的操作命令。
或者,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收云端服务器发送的所述操作命令,所述操作命令为主控移动终端对采集到的测试用户在所述主控移动终端上基于测试应用所作出的操作事件进行转换得到的;在本地运行所述操作命令,以模拟所述测试用户在基于所述测试应用执行所述操作事件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。