发布信息

终端设备的控制方法、装置、设备及存储介质与流程

作者:admin      2022-11-04 17:06:01     414



电子通信装置的制造及其应用技术1.本技术涉及控制技术领域,尤其涉及一种终端设备的控制方法、装置、设备及存储介质。背景技术:2.终端设备可以安装应用程序,一些应用程序需要利用终端设备的硬件资源信息。这些应用程序在上线之前,需要针对不同型号、不同系统版本的终端设备进行测试。3.在实际测试过程中,需要搜集到各种型号、各种系统版本的终端设备,由测试人员对这些终端设备中的应用程序进行操作,得到应用程序的测试结果。4.然而,本技术的发明人在实现本技术的过程中发现,上述测试方式的效率较低。技术实现要素:5.本技术提供一种终端设备的控制方法、装置、设备及存储介质,用以提高应用程序的测试效率。6.第一方面,本技术提供一种终端设备的控制方法,应用于云平台,所述云平台中接入有多个终端设备,所述方法包括:7.接收控制设备发送的操作请求消息,所述操作请求消息指示所述多个终端设备中的至少一个目标终端设备对应用程序执行预设操作;8.根据所述操作请求消息,控制各所述目标终端设备执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果;9.向所述控制设备发送所述操作结果,所述预设操作和所述操作结果用于确定所述应用程序的测试结果。10.一种可能的实现方式中,所述云平台中运行有多个代理服务,每个所述代理服务用于控制至少部分所述终端设备;11.根据所述操作请求消息,控制各所述目标终端设备执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果,包括:12.针对所述至少一个目标终端设备中的任意目标终端设备,从所述多个代理服务中确定出用于控制所述目标终端设备的目标代理服务;13.通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果。14.一种可能的实现方式中,所述操作请求消息包括重试指示信息,所述重试指示信息用于指示所述预设操作的重试次数;通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果,包括:15.执行控制步骤,所述控制步骤包括:通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果;16.若所述操作结果为失败,则重复执行所述控制步骤,直至所述操作结果为成功,或者,直至所述控制步骤的执行次数大于或等于所述重试次数时,确定所述操作结果为失败。17.一种可能的实现方式中,接收控制设备发送的操作请求消息之前,还包括:18.接收所述控制设备发送的占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备;19.根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果;20.向所述控制设备发送所述占用结果。21.一种可能的实现方式中,所述占用请求消息包括:所述控制设备的授权信息;根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果,包括:22.根据所述授权信息,确定所述控制设备是否具有占用终端设备的权限;23.若所述控制设备具有占用终端设备的权限,则根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果。24.一种可能的实现方式中,针对所述至少一个目标终端设备中的任意目标终端设备,根据所述目标终端设备的当前状态,确定所述控制设备对所述目标终端设备的占用结果,包括:25.若所述目标终端设备的当前状态为不可占用,则确定所述控制设备对所述目标终端设备的占用结果为失败;或者,26.若所述目标终端设备的当前状态为可占用,则确定所述控制设备对所述目标终端设备的占用结果为成功。27.一种可能的实现方式中,所述方法还包括:28.若所述控制设备不具有占用终端设备的权限,则确定所述控制设备对所述至少一个目标终端设备的占用结果为失败。29.一种可能的实现方式中,向所述控制设备发送所述操作结果之后,还包括:30.接收所述控制设备发送的释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备;31.将所述至少一个目标终端设备的当前状态更新为可占用。32.第二方面,本技术提供一种终端设备的控制方法,应用于控制设备,所述方法包括:33.确定待对应用程序执行的预设操作;34.根据所述预设操作,向云平台发送操作请求消息;所述云平台中接入多个终端设备,所述操作请求消息用于指示所述云平台控制所述多个终端设备中的至少一个目标终端设备对所述应用程序执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果;35.接收所述云平台发送的所述操作结果;36.根据所述预设操作和所述操作结果,确定所述应用程序的测试结果。37.一种可能的实现方式中,所述操作请求消息包括重试指示信息,所述重试指示信息用于指示所述预设操作的重试次数,所述操作结果为所述云平台控制所述目标终端设备重复执行n次所述预设操作得到的,所述n为小于或者等于所述重试次数的自然数。38.一种可能的实现方式中,向云平台发送操作请求消息之前,还包括:39.确定用于测试所述应用程序的所述至少一个目标终端设备;40.向所述云平台发送占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备;41.接收所述云平台发送的所述控制设备对各所述目标终端设备的占用结果。42.一种可能的实现方式中,所述占用请求消息包括:所述控制设备的授权信息,所述授权信息用于使所述云平台确定所述控制设备是否具有占用终端设备的权限。43.一种可能的实现方式中,接收所述云平台发送的所述操作结果之后,还包括:44.向所述云平台发送释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备。45.第三方面,本技术提供一种终端设备的控制装置,应用于云平台,所述云平台中接入有多个终端设备,所述装置包括:46.接收模块,用于接收控制设备发送的操作请求消息,所述操作请求消息指示所述多个终端设备中的至少一个目标终端设备对应用程序执行预设操作;47.处理模块,用于根据所述操作请求消息,控制各所述目标终端设备执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果;48.发送模块,用于向所述控制设备发送所述操作结果,所述预设操作和所述操作结果用于确定所述应用程序的测试结果。49.一种可能的实现方式中,所述云平台中运行有多个代理服务,每个所述代理服务用于控制至少部分所述终端设备;所述处理模块具体用于:50.针对所述至少一个目标终端设备中的任意目标终端设备,从所述多个代理服务中确定出用于控制所述目标终端设备的目标代理服务;51.通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果。52.一种可能的实现方式中,所述操作请求消息包括重试指示信息,所述重试指示信息用于指示所述预设操作的重试次数;所述处理模块具体用于:53.执行控制步骤,所述控制步骤包括:通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果;54.若所述操作结果为失败,则重复执行所述控制步骤,直至所述操作结果为成功,或者,直至所述控制步骤的执行次数大于或等于所述重试次数时,确定所述操作结果为失败。55.一种可能的实现方式中,所述接收模块还用于:接收所述控制设备发送的占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备;所述处理模块还用于:56.根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果;57.所述发送模块还用于:向所述控制设备发送所述占用结果。58.一种可能的实现方式中,所述占用请求消息包括:所述控制设备的授权信息;所述处理模块具体用于:59.根据所述授权信息,确定所述控制设备是否具有占用终端设备的权限;60.若所述控制设备具有占用终端设备的权限,则根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果。61.一种可能的实现方式中,针对所述至少一个目标终端设备中的任意目标终端设备,所述处理模块具体用于:62.若所述目标终端设备的当前状态为不可占用,则确定所述控制设备对所述目标终端设备的占用结果为失败;或者,63.若所述目标终端设备的当前状态为可占用,则确定所述控制设备对所述目标终端设备的占用结果为成功。64.一种可能的实现方式中,所述处理模块还用于:65.若所述控制设备不具有占用终端设备的权限,则确定所述控制设备对所述至少一个目标终端设备的占用结果为失败。66.一种可能的实现方式中,所述接收模块还用于:接收所述控制设备发送的释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备;67.所述处理模块还用于:将所述至少一个目标终端设备的当前状态更新为可占用。68.第四方面,本技术提供一种终端设备的控制装置,应用于控制设备,所述装置包括:69.处理模块,用于确定待对应用程序执行的预设操作;70.发送模块,用于根据所述预设操作,向云平台发送操作请求消息;所述云平台中接入多个终端设备,所述操作请求消息用于指示所述云平台控制所述多个终端设备中的至少一个目标终端设备对所述应用程序执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果;71.接收模块,用于接收所述云平台发送的所述操作结果;72.所述处理模块,还用于根据所述预设操作和所述操作结果,确定所述应用程序的测试结果。73.一种可能的实现方式中,所述操作请求消息包括重试指示信息,所述重试指示信息用于指示所述预设操作的重试次数,所述操作结果为所述云平台控制所述目标终端设备重复执行n次所述预设操作得到的,所述n为小于或者等于所述重试次数的自然数。74.一种可能的实现方式中,所述处理模块还用于:确定用于测试所述应用程序的所述至少一个目标终端设备;75.所述发送模块还用于:向所述云平台发送占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备;76.所述接收模块还用于:接收所述云平台发送的所述控制设备对各所述目标终端设备的占用结果。77.一种可能的实现方式中,所述占用请求消息包括:所述控制设备的授权信息,所述授权信息用于使所述云平台确定所述控制设备是否具有占用终端设备的权限。78.一种可能的实现方式中,所述发送模块还用于:向所述云平台发送释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备。79.第五方面,本技术提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序实现如第一方面任一项所述的方法,或者,实现如第二方面任一项所述的方法。80.第六方面,本技术提供一种计算机可读存储介质,包括:计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法,或者,实现如第二方面任一项所述的方法。81.第七方面,本技术提供一种计算机程序产品,包括:计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法,或者,实现如第二方面任一项所述的方法。82.本技术提供的终端设备的控制方法、装置、设备及存储介质,该方法包括:控制设备确定待对应用程序执行的预设操作,并根据预设操作向云平台发送操作请求消息,云平台根据操作请求消息控制各目标终端设备执行预设操作,并获取各目标终端设备执行预设操作的操作结果,云平台向控制设备发送操作结果,进而,控制设备根据预设操作和操作结果确定应用程序的测试结果。上述过程中,利用了云平台对控制设备的控制功能,通过云平台控制终端设备进行预设操作,实现对应用程序的测试,提高了应用程序的测试效率。进一步的,通过控制设备与云平台交互过程,使得控制设备可以根据测试需求自主、灵活地对终端设备进行操作,相当于云平台将终端设备的管理能力开放给控制设备,即使是第三方应用程序,也可以通过上述过程方便地利用云平台中的终端设备实现对应用程序的测试,提高了应用程序测试的灵活性。附图说明83.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。84.图1为本技术实施例提供的一种可能的应用场景的示意图;85.图2为本技术实施例提供的一种终端设备的控制方法的流程示意图;86.图3为本技术实施例提供的一种对终端设备的控制方式的示意图;87.图4为本技术实施例提供的另一种终端设备的控制方法的流程示意图;88.图5为本技术实施例提供的一种终端设备的控制装置的结构示意图;89.图6为本技术实施例提供的另一种终端设备的控制装置的结构示意图;90.图7为本技术实施例提供的电子设备的结构示意图。具体实施方式91.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。92.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。93.如前所述,一些应用程序在运行时需要利用终端设备的硬件资源信息。这些应用程序在上线之前,需要针对不同型号、不同系统版本的终端设备进行测试。94.在实际测试过程中,需要搜集到各种型号、各种系统版本的终端设备,由测试人员对这些终端设备中的应用程序进行操作,得到应用程序的测试结果。然而,本技术的发明人在实现本技术的过程中发现,上述测试方式的效率较低。95.一些可能的实现方式中,可以将各种型号、各种系统版本的终端设备接入到云平台中。云平台通过与终端设备通信,能够实现对终端设备的控制,例如,可以控制终端设备执行预设操作。96.这样,当需要对某个应用程序进行测试时,可以利用云平台对终端设备的控制功能,通过云平台对应用程序的测试。具体的,根据应用程序的测试逻辑,在云平台中添加测试代码。云平台执行测试代码时,控制终端设备执行预设操作并获取操作结果。进而,云平台根据操作结果确定出应用程序的测试结果。从而,一定程度提高测试效率。97.然而,发明人发现上述方式至少存在下述问题:针对第三方应用程序,若将第三方应用程序的测试代码添加到云平台中,会使得云平台耦合较多的测试功能,降低云平台的可维护性。另外,第三方应用程序的测试过程需要依赖云平台,使得测试的自主性和灵活性降低。98.为了解决上述技术问题中的至少一个,本技术实施例提供一种对终端设备的控制方法。为了便于理解本技术的方案,首先结合图1对本技术的应用场景进行描述。99.图1为本技术实施例提供的一种可能的应用场景的示意图。如图1所示,该应用场景包括:终端设备101、云平台102和控制设备103。其中,终端设备101的数量可以有多个,多个终端设备101均接入到云平台102中。100.需要说明的是,终端设备101可以采用多种方式接入到云平台102中。一些示例中,终端设备101可以通过无线网络接入。另一些示例中,终端设备101可以通过有线方式接入云平台102,比如,可以通用串行总线(universal serial bus,usb)接入。本实施例对此不作限定。101.接入到云平台102的终端设备可以为不同型号、不同系统版本的终端设备。终端设备101可以包括但不限于:手机、笔记本电脑、平台电脑、个人计算机、智能音箱、智能穿戴设备等。102.云平台102也可以称为云计算平台。云平台102可以包括一个或者多个服务器。云平台102可以与终端设备101进行通信,并控制终端设备101执行一些操作。云平台102还可以获取终端设备101的一些信息,例如,获取上述操作的操作结果。103.控制设备103和云平台102通过网络连接。控制设备103可以通过与云平台102的交互,利用云平台102控制终端设备101执行特定操作,以实现对应用程序的测试。104.其中,上述应用程序可以为第三方应用程序。控制设备103可以为用于对第三方应用程序进行测试的电子设备。示例性的,控制设备103中可以运行有测试代码。控制设备103是具有数据处理能力的电子设备,包括但不限于:个人计算机、平板电脑、台式计算机、笔记本电脑,服务器等。105.本技术提供的技术方案中,控制设备可以根据测试逻辑,确定待对应用程序执行的预设操作,根据预设操作向云平台发送操作请求消息,云平台根据操作请求消息,控制至少一个目标终端设备执行预设操作,并获取各目标终端设备执行预设操作的操作结果。云平台向控制设备发送操作结果。这样,控制设备可以根据预设操作和操作结果确定应用程序的测试结果。106.上述过程中,通过控制设备与云平台的交互过程,使得控制设备可以根据测试需求自主、灵活地对终端设备进行操作,相当于云平台将终端设备的管理能力开放给控制设备,即使是第三方应用程序,也可以通过上述过程方便地利用云平台中的终端设备实现对应用程序的测试,提高应用程序的测试效率,并提高测试的灵活性。107.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。108.图2为本技术实施例提供的一种终端设备的控制方法的流程示意图。如图2所示,本实施例的方法包括:109.s201:控制设备确定待对应用程序执行的预设操作。110.其中,应用程序为待测试的应用程序。本实施例的应用程序需要使用终端设备的硬件信息。例如,应用程序需要使用终端设备的操作能力,比如:点击、滑动、安装、卸载、截图等。又例如,应用程序需要获取终端设备的硬件资源信息,比如,中央处理器(central processing unit,cpu)资源、内存资源、设备标识、网络资源、流量资源等。111.控制设备可以根据测试需求或者测试逻辑,确定待对应用程序执行的预设操作。112.本实施例中,所述预设操作为测试应用程序的过程中需要进行的操作。所述预设操作可以包括下述中的一种或者多种:对应用程序的安装操作、对应用程序的卸载操作、对应用程序的启动操作、对应用程序的界面进行的操作、获取应用程序的界面信息的操作。113.其中,对应用程序的界面进行的操作包括但不限于:对界面中的控件进行点击操作、滑动操作、输入文本操作等。获取应用程序的界面信息的操作包括但不限于:对界面进行截图操作、获取界面中的控件信息。114.其中,控件信息是指界面的控件树信息,即该界面中所有控件的标识、类型、属性等信息。控制设备获取到各控件的信息后,开发人员可以根据各控件的信息编写测试代码。例如,对控件1进行点击操作、对控件2进行滑动操作、对控件3进行文本输入操作等。115.进一步的,在测试代码中可以对应用程序的界面中的相关控件进行操作。例如,可以对一些控件进行点击操作,也可以对另一些控件进行滑动操作,还可以对再一些控件进行文本输入操作。116.s202:控制设备根据所述预设操作,向云平台发送操作请求消息,所述操作请求消息用于指示至少一个目标终端设备对所述应用程序执行所述预设操作。117.相应的,云平台接收控制设备发送的操作请求消息。118.本实施例中,云平台中接入多个终端设备。控制设备可以根据测试需求或者测试逻辑,指示其中的一个或者多个终端设备(即目标终端设备)对应用程序执行预设操作。119.s203:云平台根据所述操作请求消息,控制各所述目标终端设备执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果。120.云平台接收到操作请求消息后,可以根据操作请求消息,控制各目标终端设备执行所述预设操作。云平台还可以获取各目标终端设备执行所述预设操作的操作结果。121.其中,操作结果指的是云平台控制目标终端设备执行预设操作的结果。例如,若预设操作为点击界面中的控件1,若云平台控制终端设备执行点击控件1成功,则操作结果为成功,若云平台控制终端设备执行点击控件1失败,则操作结果为失败。122.一些可能的实现方式中,云平台根据操作请求消息,向各目标终端设备发送用于指示执行预设操作的操作指令。目标终端设备根据接收到的操作指令执行预设操作。目标终端设备将预设操作的操作结果发送至云平台。从而,云平台获取到目标终端设备执行预设操作的操作结果。123.本技术实施例的应用场景中,接入云平台的终端设备的数量可能较多,为了保证云平台对终端设备的控制效率,可以在云平台中运行多个代理服务,每个代理服务用于控制至少部分终端设备。124.云平台接收到控制设备发送的操作请求消息后,针对控制设备指示的任意目标终端设备,云平台可以先从多个代理服务中确定出用于控制该目标终端设备的目标代理服务,然后再通过该目标代理服务控制该目标终端设备执行预设操作,并获取该目标终端设备执行预设操作的操作结果。125.图3为本技术实施例提供的一种对终端设备的控制方式的示意图。如图3所示,云平台中运行有多个代理服务(图3中以4个代理服务为例)。每个代理服务可以负责控制一个或者多个终端设备。本实施例对于每个代理服务负责控制的终端设备的数量不作限定。126.结合图3进行举例说明,假设云平台中接入有12个终端设备,代理服务1负责控制终端设备1-4,代理服务2负责控制终端设备5-6,代理服务3负责控制终端设备7-10,代理服务4负责控制终端设备11-12。127.若控制设备指示对终端设备2、8、12执行预设操作,则可以通过代理服务1控制终端设备2执行预设操作,通过代理服务3控制终端设备8执行预设操作,并通过代理服务4控制终端设备12进行预设操作。128.能够理解,通过采用多个代理服务,可以提高云平台对终端设备的控制效率。129.进一步的,本技术实施例的应用场景中,云平台中可能接入有多种类型的终端设备。不同类型的终端设备可能具有不同的型号或者不同的系统版本等。云平台对不同类型的终端设备的控制方式可能不同。一些可能的实现方式中,每种代理服务用于控制一种类型的终端设备,不同的代理服务控制不同类型的终端设备。130.这样,针对控制设备指示的任意目标终端设备,可以根据该目标终端设备的类型,从多个代理服务中确定出目标代理服务。进而,通过该目标代理服务控制该目标终端设备执行预设操作,并获取该目标终端设备执行预设操作的操作结果。131.该实现方式中,由于一个代理服务控制同一类型的终端设备,使得该代理服务对其负责的终端设备采用相同的控制方式,能够进一步提高云平台对终端设备的控制效率。132.一种可能的实现方式中,所述操作请求消息中可以包括重试指示信息,所述重试指示信息用于指示预设操作的重试次数。这样,针对控制设备指示的任意目标终端设备,云平台执行下述控制步骤:133.通过目标代理服务控制目标终端设备执行预设操作,并获取目标终端设备执行预设操作的操作结果。134.若操作结果为失败,则重复执行上述控制步骤,直至操作结果为成功。135.或者,直至所述控制步骤的执行次数大于或等于所述重试次数时,确定所述操作结果为失败。136.该实现方式中,通过在操作请求消息中包括重试指示信息,使得云平台在目标终端设备执行预设操作的操作结果为失败的情况下,自动控制目标终端设备重试执行预设操作,从而避免由于网络因素导致的偶然执行失败的问题,保证应用程序测试结果的准确性。137.s204:云平台向控制设备发送所述操作结果。138.相应的,控制设备接收云平台发送的所述操作结果。139.s205:控制设备根据所述预设操作以及所述操作结果,确定所述应用程序的测试结果。140.本实施例中,预设操作以及预设操作的操作结果可用于确定应用程序的测试结果。也就是说,控制设备可以根据预设操作以及预设操作的操作结果确定对应用程序的测试是否通过。141.需要说明的是,本实施例描述的是控制设备控制目标终端设备执行一个预设操作的过程。实际应用中,对应用程序的测试通常需要进行多个操作,因此,上述s201至s204可以循环执行多次。这样,s205中,控制设备可以根据多个操作以及多个操作的操作结果,确定应用程序的测试结果。142.本实施例提供的终端设备的控制方法,包括:控制设备确定待对应用程序执行的预设操作,并根据预设操作向云平台发送操作请求消息,云平台根据操作请求消息控制各目标终端设备执行预设操作,并获取各目标终端设备执行预设操作的操作结果,云平台向控制设备发送操作结果,进而,控制设备根据预设操作和操作结果确定应用程序的测试结果。上述过程中,利用了云平台对控制设备的控制功能,通过云平台控制终端设备进行预设操作,实现对应用程序的测试,提高了应用程序的测试效率。进一步的,通过控制设备与云平台交互过程,使得控制设备可以根据测试需求自主、灵活地对终端设备进行操作,相当于云平台将终端设备的管理能力开放给控制设备,即使是第三方应用程序,也可以通过上述过程方便地利用云平台中的终端设备实现对应用程序的测试,提高了应用程序测试的灵活性。143.在上述实施例的基础上,下面结合一个更具体的实施例对本技术方案进行更详细的描述。144.图4为本技术实施例提供的另一种终端设备的控制方法的流程示意图。如图4所示,本实施例的方法,包括:145.s401:控制设备确定用于测试应用程序的至少一个目标终端设备。146.具体的,控制设备可以根据测试需求,从接入云平台的所有终端设备中,确定出用于测试应用程序的至少一个目标终端设备。147.s402:控制设备向云平台发送占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备。148.相应的,云平台接收控制设备发送的占用请求消息。149.示例性的,所述占用请求消息可以包括所述至少一个目标终端设备的标识。应理解,当一个控制设备占用目标终端设备之后,该目标终端设备将不能被其他控制设备占用,从而保证目标终端设备只受一个控制设备的控制,保证测试结果的准确性。150.s403:云平台根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果。151.示例性的,云平台可以在数据库中维护各个终端设备的当前状态。一个终端设备的状态可以包括:可占用和不可占用。其中,可占用是指终端设备运行状态正常,可供控制设备占用。不可占用具体包括如下两种情况,一种情况是终端设备已被占用,另一种情况是终端设备故障。152.具体的,针对任意目标终端设备,若该目标终端设备的当前状态为不可占用,例如,该目标终端设备已被其他控制设备占用,或者,该目标终端设备发生故障等,则确定控制设备对目标终端设备的占用结果为失败。153.若该目标终端设备的当前状态为可占用,即,该目标终端设备处于正常运行状态,且未被其他控制设备占用,则确定控制设备对目标终端设备的占用结果为成功。154.在确定控制设备对目标终端设备的占用结果为成功的情况下,云平台将目标终端设备的当前状态更新为已被占用,并记录目标终端设备与控制设备之间的占用关系。155.一种可能的实现方式中,占用请求消息可以包括:所述控制设备的授权信息。其中,授权信息也可以称为鉴权信息(key)。授权信息用于使云平台判断控制设备是否具有控制终端设备的权限。156.示例性的,控制设备可以事先向云平台申请控制终端设备的权限。云平台为控制设备分配授权信息,并指定授权信息的有效期。控制设备向云平台发送占用请求消息时,在占用请求消息中携带该授权信息。157.这样,云平台在接收到占用请求消息后,根据其中携带的授权信息确定控制设备是否具有占用终端设备的权限。示例性的,若占用请求消息中携带的授权信息与云平台为控制设备分配的授权信息一致,且该授权信息位于有效期内,则说明控制设备具有占用终端设备的权限。若占用请求消息中携带的授权信息与云平台为控制设备分配的授权信息不一致,或者,虽然一致,但是该授权信息已不在有效期,则说明控制设备不具有占用终端设备的权限。158.在云平台确定控制设备具有占用终端设备的权限的情况下,云平台根据各目标终端设备的当前状态,确定控制设备对各目标终端设备的占用结果。159.在云平台确定控制设备不具有占用终端设备的权限的情况下,云平台确定控制设备对各所述目标终端设备的占用结果为失败。160.s404:云平台向控制设备发送所述占用结果。161.相应的,控制设备接收云平台发送的占用结果。162.应理解,当控制设备接收到的占用结果后,若占用结果为失败,则控制设备可以根据实际情况,确定是否重试。可选的,在占用结果为失败的情况下,占用结果中还可以携带失败原因,这样,控制设备可以根据失败原因进行具体的处理。例如,若失败原因为授权信息过期,则控制设备可以重新向云平台申请授权信息。若失败原因为目标终端设备已被占用,则控制设备可以尝试占用其他的终端设备,或者,等待该目标终端设备被释放后,再重新尝试占用。163.在占用结果为成功的情况下,继续执行后续的s405至s409。164.s405:控制设备确定待对应用程序执行的预设操作。165.s406:控制设备根据所述预设操作,向云平台发送操作请求消息。166.相应的,云平台接收控制设备发送的操作请求消息。操作请求消息指示所述至少一个目标终端设备对应用程序执行预设操作。167.s407:云平台根据操作请求消息,控制各所述目标终端设备执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果。168.s408:云平台向控制设备发送所述操作结果。169.相应的,控制设备接收云平台发送的操作结果。170.s409:控制设备根据预设操作和操作结果,确定应用程序的测试结果。171.应理解,s405至s408可以循环执行多次。s405至s409的具体实现方式可以参见图2所示实施例的详细描述,此处不作赘述。172.s410:控制设备向云平台发送释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备。173.具体的,控制设备在对应用程序测试完成后,可以向云平台发送请求释放消息,并在释放请求消息中包括所述至少一个目标终端设备的标识,以请求释放所述至少一个目标终端设备。174.相应的,云平台接收控制设备发送的释放请求消息。175.s411:云平台将所述至少一个目标终端设备的当前状态更新为可占用。176.可选的,还可以包括:177.s412:云平台向控制设备发送释放结果。178.能够理解,云平台将各目标终端设备的当前状态更新为可占用后,使得这些目标终端设备可以被后续的其他控制设备占用。179.本实施例提供的终端设备的控制方法,通过控制设备与云平台的交互过程,使得控制设备可以根据测试需求自主、灵活地对终端设备进行操作,相当于云平台将终端设备的管理能力开放给控制设备,即使是第三方应用程序,也可以通过上述过程方便地利用云平台中的终端设备实现对应用程序的测试,提高应用程序的测试效率,并提高测试的灵活性。另外,本实施例中,控制设备先对目标终端设备进行占用,并在占用成功的情况下控制目标终端设备,避免多个控制设备同时控制一个终端设备导致的干扰,保证了测试结果的准确性。180.图5为本技术实施例提供的一种终端设备的控制装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式,该装置可以部署在云平台中,该云平台中接入有多个终端设备。如图5所示,本实施例提供的终端设备的控制装置500,包括:接收模块501、处理模块502和发送模块503。181.其中,接收模块501,用于接收控制设备发送的操作请求消息,所述操作请求消息指示所述多个终端设备中的至少一个目标终端设备对应用程序执行预设操作;182.处理模块502,用于根据所述操作请求消息,控制各所述目标终端设备执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果;183.发送模块503,用于向所述控制设备发送所述操作结果,所述预设操作和所述操作结果用于确定所述应用程序的测试结果。184.一种可能的实现方式中,所述云平台中运行有多个代理服务,每个所述代理服务用于控制至少部分所述终端设备;所述处理模块502具体用于:185.针对所述至少一个目标终端设备中的任意目标终端设备,从所述多个代理服务中确定出用于控制所述目标终端设备的目标代理服务;186.通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果。187.一种可能的实现方式中,所述操作请求消息包括重试指示信息,所述重试指示信息用于指示所述预设操作的重试次数;所述处理模块502具体用于:188.执行控制步骤,所述控制步骤包括:通过所述目标代理服务控制所述目标终端设备执行所述预设操作,并获取所述目标终端设备执行所述预设操作的操作结果;189.若所述操作结果为失败,则重复执行所述控制步骤,直至所述操作结果为成功,或者,直至所述控制步骤的执行次数大于或等于所述重试次数时,确定所述操作结果为失败。190.一种可能的实现方式中,所述接收模块501还用于:接收所述控制设备发送的占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备;191.所述处理模块502还用于:根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果;192.所述发送模块503还用于:向所述控制设备发送所述占用结果。193.一种可能的实现方式中,所述占用请求消息包括:所述控制设备的授权信息;所述处理模块502具体用于:194.根据所述授权信息,确定所述控制设备是否具有占用终端设备的权限;195.若所述控制设备具有占用终端设备的权限,则根据各所述目标终端设备的当前状态,确定所述控制设备对各所述目标终端设备的占用结果。196.一种可能的实现方式中,针对所述至少一个目标终端设备中的任意目标终端设备,所述处理模块502具体用于:197.若所述目标终端设备的当前状态为不可占用,则确定所述控制设备对所述目标终端设备的占用结果为失败;或者,198.若所述目标终端设备的当前状态为可占用,则确定所述控制设备对所述目标终端设备的占用结果为成功。199.一种可能的实现方式中,所述处理模块502还用于:200.若所述控制设备不具有占用终端设备的权限,则确定所述控制设备对所述至少一个目标终端设备的占用结果为失败。201.一种可能的实现方式中,所述接收模块501还用于:接收所述控制设备发送的释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备;202.所述处理模块502还用于:将所述至少一个目标终端设备的当前状态更新为可占用。203.本实施例的装置,可用于执行上述任一方法实施例中由云平台执行的终端设备的控制方法,其实现原理和技术效果类似,此处不作赘述。204.图6为本技术实施例提供的另一种终端设备的控制装置的结构示意图。该装置可以为软件和/或硬件的形式,该装置可以设置在控制设备中。如图6所示,本实施例提供的终端设备的控制装置600,可以包括:发送模块601、处理模块602和接收模块603。205.其中,处理模块602,用于确定待对应用程序执行的预设操作;206.发送模块601,用于根据所述预设操作,向云平台发送操作请求消息;所述云平台中接入多个终端设备,所述操作请求消息用于指示所述云平台控制所述多个终端设备中的至少一个目标终端设备对所述应用程序执行所述预设操作,并获取各所述目标终端设备执行所述预设操作的操作结果;207.接收模块603,用于接收所述云平台发送的所述操作结果;208.所述处理模块602,还用于根据所述预设操作和所述操作结果,确定所述应用程序的测试结果。209.一种可能的实现方式中,所述操作请求消息包括重试指示信息,所述重试指示信息用于指示所述预设操作的重试次数,所述操作结果为所述云平台控制所述目标终端设备重复执行n次所述预设操作得到的,所述n为小于或者等于所述重试次数的自然数。210.一种可能的实现方式中,所述处理模块602还用于:确定用于测试所述应用程序的所述至少一个目标终端设备;211.所述发送模块601还用于:向所述云平台发送占用请求消息,所述占用请求消息用于请求占用所述至少一个目标终端设备;212.所述接收模块603还用于:接收所述云平台发送的所述控制设备对各所述目标终端设备的占用结果。213.一种可能的实现方式中,所述占用请求消息包括:所述控制设备的授权信息,所述授权信息用于使所述云平台确定所述控制设备是否具有占用终端设备的权限。214.一种可能的实现方式中,所述发送模块601还用于:向所述云平台发送释放请求消息,所述释放请求消息用于请求释放所述至少一个目标终端设备。215.本实施例的装置,可用于执行上述任一方法实施例中由控制设备执行的终端设备的控制方法,其实现原理和技术效果类似,此处不再赘述。216.图7为本技术实施例提供的电子设备的结构示意图。该电子设备可以部署在云平台中,还可以作为控制设备。如图7所示,本实施例提供的电子设备700,包括:处理器701以及存储器702。217.其中,存储器702,用于存储计算机程序;处理器701,用于执行存储器中存储的计算机程序,以实现上述实施例中终端设备的控制方法中的一个或者多个步骤。具体可以参见前述方法实施例中的相关描述,其实现原理和技术效果类似,本实施例此处不再赘述。218.可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。当所述存储器702是独立于处理器701之外的器件时,所述电子设备700还可以包括:总线703,用于连接所述存储器702和处理器701。219.可选的,本实施例的电子设备700还可以包括通信部件704,用于与其他设备进行通信。220.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序用于实现如上任一方法实施例中的终端设备的控制方法中的一个或者多个步骤,其实现原理和技术效果类似,此处不作赘述。221.本技术实施例还提供一种芯片,包括:存储器和处理器,所述存储器中存储有计算机程序,所述处理器运行所述计算机程序执行上述任一方法实施例中的终端设备的控制方法中的一个或者多个步骤,其实现原理和技术效果类似,此处不作赘述。222.本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中的终端设备的控制方法中的一个或者多个步骤,其实现原理和技术效果类似,此处不作赘述。223.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。224.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。225.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。226.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。227.应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。228.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。229.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。230.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。231.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。232.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。233.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部