掌桥专利:专业的专利平台
掌桥专利
首页

移动端管控方法、装置、存储介质和设备

文献发布时间:2023-06-19 18:37:28


移动端管控方法、装置、存储介质和设备

技术领域

本申请涉及移动端软件测试领域,尤其涉及一种移动端管控方法、装置、存储介质和设备。

背景技术

随着移动互联网的快速发展,大部分企业都开发了自身的移动客户端,为了保证移动客户端能够正常上线使用,通常需要对移动客户端进行UI自动化测试。UI自动化测试过程需要覆盖不同设备类型的移动端的场景,为了节省大量测试人力和物力,需要对各个移动端进行管控,从而实现按照测试需求控制移动端完成测试的目的。

目前,大多采用公开的移动端管理平台(例如openstf)来管控各个移动端。受限于平台自身因素,只能针对平台所指定的设备类型进行管控,若测试过程中针对特殊设备类型的移动端,需要专门要求平台开发,致使测试成本增加。

为此,如何在不增加成本的情况下,实现对不同设备类型的移动端的管控,成为本领域亟需解决的问题。

发明内容

本申请提供了一种移动端管控方法、装置、存储介质和设备,用于在不增加成本的情况下,实现对不同设备类型的移动端的管控。

为了实现上述目的,本申请提供了以下技术方案:

一种移动端管控方法,应用于服务器,包括:

获取设备序列号与移动端之间的所属关系;

基于UI自动化服务通过预设接口发送的查询命令,以及所述所属关系,确定目标移动端;

访问所述目标移动端,获取所述目标移动端的使用状态;

在所述使用状态为空闲状态的情况下,获取所述目标移动端的IP地址;

控制所述目标移动端开启自身的端口,以使所述服务器获得所述目标移动端的端口号;

基于所述IP地址和所述端口号,生成所述目标移动端的远程连接IP;

将所述远程连接IP发送给所述UI自动化服务,以使所述UI自动化服务以所述远程连接IP为依据,访问并控制所述目标移动端;

将所述目标移动端的使用状态更新为使用中,并将所述目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。

可选的,所述获取设备序列号与移动端之间的所属关系,包括:

调用预设的远程连接工具,建立所述服务器与多个移动端之间的通信连接;

在确定所述服务器与各个所述移动端之间成功建立通信连接后,向各个所述移动端发送第一指令,获得各个所述移动端的设备序列号;

基于各个所述移动端的设备序列号,得到设备序列号与移动端之间的所属关系。

可选的,所述基于UI自动化服务通过预设接口发送的查询命令,以及所述所属关系,确定目标移动端,包括:

在接收到UI自动化服务通过预设接口发送的查询命令后,判断所述查询命令是否包含设备序列号;

在所述查询命令包含设备序列号的情况下,将所述查询命令所示设备序列号所属的移动端,标识为目标移动端。

可选的,还包括:

在所述查询命令不包含设备序列号的情况下,将与所述服务器连接的所有移动端,均标识为所述目标移动端。

可选的,所述访问所述目标移动端,获取所述目标移动端的使用状态之后,还包括:

在所述使用状态为使用中的情况下,基于所述目标移动端的设备序列号,生成设备已占用提示;

向所述UI自动化服务发送所述设备已占用提示。

可选的,还包括:

基于所述UI自动化服务通过所述预设接口发送的释放命令,以及所述所属关系,确定待释放移动端;

控制所述待释放移动端关闭自身的端口,以使所述UI自动化服务无法访问所述待释放移动端;

对所述预设数据库中所述待处理移动端的使用状态进行更新,以使所述待处理移动端的使用状态变更为空闲状态;

向所述UI自动化服务发送释放成功提示。

可选的,所述基于所述UI自动化服务通过所述预设接口发送的释放命令,以及所述所属关系,确定待释放移动端,包括:

在接收到所述UI自动化服务通过所述预设接口发送的释放命令后,判断所述释放命令是否包含设备序列号;

在所述释放命令包含设备序列号的情况下,将所述释放命令所示设备序列号所属的移动端,标识为待释放移动端。

一种移动端管控装置,包括:

关系获取单元,用于获取设备序列号与移动端之间的所属关系;

确定单元,用于基于UI自动化服务通过预设接口发送的查询命令,以及所述所属关系,确定目标移动端;

状态获取单元,用于访问所述目标移动端,获取所述目标移动端的使用状态;

地址获取单元,用于在所述使用状态为空闲状态的情况下,获取所述目标移动端的IP地址;

端口号获取单元,用于控制所述目标移动端开启自身的端口,获得所述目标移动端的端口号;

IP生成单元,用于基于所述IP地址和所述端口号,生成所述目标移动端的远程连接IP;

IP发送单元,用于将所述远程连接IP发送给所述UI自动化服务,以使所述UI自动化服务以所述远程连接IP为依据,访问并控制所述目标移动端;

状态更新单元,用于将所述目标移动端的使用状态更新为使用中,并将所述目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。

一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序被处理器运行时执行所述的移动端管控方法。

一种移动端管控设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;

所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序被处理器运行时执行所述的移动端管控方法。

本申请提供的技术方案,获取设备序列号与移动端之间的所属关系。基于UI自动化服务通过预设接口发送的查询命令,以及所属关系,确定目标移动端。访问目标移动端,获取目标移动端的使用状态。在使用状态为空闲状态的情况下,获取目标移动端的IP地址。控制目标移动端开启自身的端口,以使服务器获得目标移动端的端口号。基于IP地址和端口号,生成目标移动端的远程连接IP。将远程连接IP发送给UI自动化服务,以使UI自动化服务以远程连接IP为依据,访问并控制目标移动端。将目标移动端的使用状态更新为使用中,并将目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。相较于现有技术,本申请通过预设接口辅助UI自动化服务实现对各个移动端的管控,无需采用专业的移动端管理平台,且不局限于特定设备类型,从而能够在不增加成本的情况下,实现对不同设备类型的移动端的管控。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a为本申请实施例提供的一种移动端管控方法的流程示意图;

图1b为本申请实施例提供的一种移动端管控方法的流程示意图;

图2为本申请实施例提供的另一种移动端管控方法的流程示意图;

图3为本申请实施例提供的一种移动端管控装置的架构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1a和图1b所示,为本申请实施例提供的一种移动端管控方法的流程示意图,应用于服务器中,包括如下所示步骤。

S101:预先调用预设的远程连接工具,建立服务器与多个移动端之间的通信连接。

其中,预设的远程连接工具包括但不限于为安卓调试桥(Android Debug Bridge,ADB)。在本申请实施例中,各个移动端的设备类型可由技术人员根据实际情况进行设置。

所谓的ADB,是android sdk里的一个工具,用这个工具可以直接操作安卓设备(即移动端的一种具体表现形式),ADB的主要功能有:运行移动端的命令行,管理移动端的端口映射,实现服务器和移动端之间的文件传输。

此外,本实施例所示的移动端通过USB连接方式与服务器连接。

S102:在确定服务器与各个移动端之间成功建立通信连接后,获取各个移动端的设备序列号,并基于各个移动端的设备序列号,得到设备序列号与移动端之间的所属关系。

其中,可以通过向各个移动端发送第一指令,获得各个移动端的设备序列号。第一指令的具体表现形式可以为adb devices,在第一指令中,adb代表命令行,devices代表设备序列号。

S103:在接收到UI自动化服务通过预设接口发送的查询命令后,判断查询命令是否包含设备序列号。

若查询命令包含设备序列号,则执行S104,否则执行S105。

其中,预设接口具体可使用web.py框架构建得到,

S104:将查询命令所示设备序列号所属的移动端,标识为目标移动端。

在执行S104之后,继续执行S106。

S105:将与服务器连接的所有移动端,均标识为目标移动端。

在执行S105之后,继续执行S106。

S106:访问目标移动端,获取目标移动端的使用状态。

S107:判断使用状态是否为空闲状态。

若使用状态为空闲状态,则执行S108,否则执行S113。

S108:获取目标移动端的IP地址。

其中,可以通过向目标移动端发送第二指令,得到目标移动端的IP地址。第二指令的具体表现形式可以为adb-s devices shell ipaddr show wlan0,在第二指令中,devices代表目标移动端的设备序列号。

S109:控制目标移动端开启自身的端口,以使服务器获得目标移动端的端口号。

其中,可以通过向目标移动端发送第三指令,来控制目标移动端开启自身的端口。第三指令的具体表现形式可以为adb-s devices tcpip 5577,在第三指令中,5577代表移动端的端口号。

S110:基于目标移动端的IP地址和端口号,生成目标移动端的远程连接IP。

其中,远程连接IP的具体表现形式为“IP地址:调试端口”,具体的,假设IP地址为192.168.1.123,端口号为5577,则目标移动端的远程连接IP为192.168.1.123:5577。

S111:将目标移动端的远程连接IP发送给UI自动化服务,以使UI自动化服务以远程连接IP为依据,访问并控制目标移动端。

其中,将目标移动端的远程连接IP发送给UI自动化服务,以使UI自动化服务以远程连接IP为依据,访问并控制目标移动端,能够帮助UI自动化服务实现对移动端的有效管控。

S112:将目标移动端的使用状态更新为使用中,并将目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。

其中,预设数据表的存储格式可参见表1所示。

表1

在上述表1中,id代表目标移动端的索引,sn代表设备序列号,devicesid代表远程连接IP,status代表使用状态(0代表空闲状态,1代表使用中)。

需要说明的是,将目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中,可以方便用户随时查询。

S113:基于目标移动端的设备序列号,生成设备已占用提示。

S114:向UI自动化服务发送设备已占用提示。

S115:在接收到UI自动化服务通过预设接口发送的释放命令后,判断释放命令是否包含设备序列号。

若查询命令包含设备序列号,则执行S116,否则执行S117。

S116:将释放命令所示设备序列号所属的移动端,标识为待释放移动端。

在执行S116之后,继续执行S118。

S117:将与服务器连接的所有移动端,均标识为待释放移动端。

在执行S117之后,继续执行S118。

S118:控制待释放移动端关闭自身的端口,以使UI自动化服务无法访问待释放移动端。

S119:对预设数据库中待处理移动端的使用状态进行更新,以使待处理移动端的使用状态变更为空闲状态。

S120:向UI自动化服务发送释放成功提示。

综上所述,相较于现有技术,本实施例通过预设接口辅助UI自动化服务实现对各个移动端的管控,无需采用专业的移动端管理平台,且不局限于特定设备类型,从而能够在不增加成本的情况下,实现对不同设备类型的移动端的管控。

需要说明的是,上述实施例提及的S101,为本申请实施例所示移动端管控方法的一种具体表现形式。此外,上述实施例提及的S120,也为本申请实施例所示移动端管控方法的一种具体表现形式。为此,上述实施例提及的流程,可以概括为图2所示的方法。

如图2所示,为本申请实施例提供的另一种移动端管控方法的流程示意图,包括如下所示步骤。

S201:获取设备序列号与移动端之间的所属关系。

S202:基于UI自动化服务通过预设接口发送的查询命令,以及所属关系,确定目标移动端。

S203:访问目标移动端,获取目标移动端的使用状态。

S204:在使用状态为空闲状态的情况下,获取目标移动端的IP地址。

S205:控制目标移动端开启自身的端口,以使服务器获得目标移动端的端口号。

S206:基于IP地址和端口号,生成目标移动端的远程连接IP。

S207:将远程连接IP发送给UI自动化服务,以使UI自动化服务以远程连接IP为依据,访问并控制目标移动端。

S208:将目标移动端的使用状态更新为使用中,并将目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。

综上所述,相较于现有技术,本实施例通过预设接口辅助UI自动化服务实现对各个移动端的管控,无需采用专业的移动端管理平台,且不局限于特定设备类型,从而能够在不增加成本的情况下,实现对不同设备类型的移动端的管控。

与上述本申请实施例提供的移动端管控方法相对应,本申请实施例还提供了一种移动端管控装置。

如图3所示,为本申请实施例提供的一种移动端管控装置的架构示意图,包括如下所示单元。

关系获取单元100,用于获取设备序列号与移动端之间的所属关系。

可选的,关系获取单元100具体用于:调用预设的远程连接工具,建立移动端管控装置与多个移动端之间的通信连接;在确定移动端管控装置与各个移动端之间成功建立通信连接后,向各个移动端发送第一指令,获得各个移动端的设备序列号;基于各个移动端的设备序列号,得到设备序列号与移动端之间的所属关系。

确定单元200,用于基于UI自动化服务通过预设接口发送的查询命令,以及所属关系,确定目标移动端。

可选的,确定单元200具体用于:在接收到UI自动化服务通过预设接口发送的查询命令后,判断查询命令是否包含设备序列号;在查询命令包含设备序列号的情况下,将查询命令所示设备序列号所属的移动端,标识为目标移动端。

确定单元200还用于:在查询命令不包含设备序列号的情况下,将与移动端管控装置连接的所有移动端,均标识为目标移动端。

状态获取单元300,用于访问目标移动端,获取目标移动端的使用状态。

提示单元400还用于:在使用状态为使用中的情况下,基于目标移动端的设备序列号,生成设备已占用提示;向UI自动化服务发送设备已占用提示。

地址获取单元500,用于在使用状态为空闲状态的情况下,获取目标移动端的IP地址。

端口号获取单元600,用于控制目标移动端开启自身的端口,获得目标移动端的端口号。

IP生成单元700,用于基于IP地址和端口号,生成目标移动端的远程连接IP。

IP发送单元800,用于将远程连接IP发送给UI自动化服务,以使UI自动化服务以远程连接IP为依据,访问并控制目标移动端。

状态更新单元900,用于将目标移动端的使用状态更新为使用中,并将目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。

释放单元1000用于:基于UI自动化服务通过预设接口发送的释放命令,以及所属关系,确定待释放移动端;控制待释放移动端关闭自身的端口,以使UI自动化服务无法访问待释放移动端;对预设数据库中待处理移动端的使用状态进行更新,以使待处理移动端的使用状态变更为空闲状态;向UI自动化服务发送释放成功提示。

可选的,释放单元1000具体用于:在接收到UI自动化服务通过预设接口发送的释放命令后,判断释放命令是否包含设备序列号;在释放命令包含设备序列号的情况下,将释放命令所示设备序列号所属的移动端,标识为待释放移动端。

综上所述,相较于现有技术,本实施例通过预设接口辅助UI自动化服务实现对各个移动端的管控,无需采用专业的移动端管理平台,且不局限于特定设备类型,从而能够在不增加成本的情况下,实现对不同设备类型的移动端的管控。

本申请还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本申请提供的移动端管控方法。

本申请还提供了一种移动端管控设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本申请提供的移动端管控方法,包括如下步骤:

获取设备序列号与移动端之间的所属关系;

基于UI自动化服务通过预设接口发送的查询命令,以及所述所属关系,确定目标移动端;

访问所述目标移动端,获取所述目标移动端的使用状态;

在所述使用状态为空闲状态的情况下,获取所述目标移动端的IP地址;

控制所述目标移动端开启自身的端口,以使所述服务器获得所述目标移动端的端口号;

基于所述IP地址和所述端口号,生成所述目标移动端的远程连接IP;

将所述远程连接IP发送给所述UI自动化服务,以使所述UI自动化服务以所述远程连接IP为依据,访问并控制所述目标移动端;

将所述目标移动端的使用状态更新为使用中,并将所述目标移动端的使用状态、设备序列号以及远程连接IP,保存到预设数据表中。

具体的,在上述实施例的基础上,所述获取设备序列号与移动端之间的所属关系,包括:

调用预设的远程连接工具,建立所述服务器与多个移动端之间的通信连接;

在确定所述服务器与各个所述移动端之间成功建立通信连接后,向各个所述移动端发送第一指令,获得各个所述移动端的设备序列号;

基于各个所述移动端的设备序列号,得到设备序列号与移动端之间的所属关系。

具体的,在上述实施例的基础上,所述基于UI自动化服务通过预设接口发送的查询命令,以及所述所属关系,确定目标移动端,包括:

在接收到UI自动化服务通过预设接口发送的查询命令后,判断所述查询命令是否包含设备序列号;

在所述查询命令包含设备序列号的情况下,将所述查询命令所示设备序列号所属的移动端,标识为目标移动端。

具体的,在上述实施例的基础上,还包括:

在所述查询命令不包含设备序列号的情况下,将与所述服务器连接的所有移动端,均标识为所述目标移动端。

具体的,在上述实施例的基础上,所述访问所述目标移动端,获取所述目标移动端的使用状态之后,还包括:

在所述使用状态为使用中的情况下,基于所述目标移动端的设备序列号,生成设备已占用提示;

向所述UI自动化服务发送所述设备已占用提示。

具体的,在上述实施例的基础上,还包括:

基于所述UI自动化服务通过所述预设接口发送的释放命令,以及所述所属关系,确定待释放移动端;

控制所述待释放移动端关闭自身的端口,以使所述UI自动化服务无法访问所述待释放移动端;

对所述预设数据库中所述待处理移动端的使用状态进行更新,以使所述待处理移动端的使用状态变更为空闲状态;

向所述UI自动化服务发送释放成功提示。

具体的,在上述实施例的基础上,所述基于所述UI自动化服务通过所述预设接口发送的释放命令,以及所述所属关系,确定待释放移动端,包括:

在接收到所述UI自动化服务通过所述预设接口发送的释放命令后,判断所述释放命令是否包含设备序列号;

在所述释放命令包含设备序列号的情况下,将所述释放命令所示设备序列号所属的移动端,标识为待释放移动端。

本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115629469