CN107454124B - 设备自动化方法及装置 - Google Patents

设备自动化方法及装置 Download PDF

Info

Publication number
CN107454124B
CN107454124B CN201610375229.2A CN201610375229A CN107454124B CN 107454124 B CN107454124 B CN 107454124B CN 201610375229 A CN201610375229 A CN 201610375229A CN 107454124 B CN107454124 B CN 107454124B
Authority
CN
China
Prior art keywords
automation
equipment
instruction
server
automation instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610375229.2A
Other languages
English (en)
Other versions
CN107454124A (zh
Inventor
徐达峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201610375229.2A priority Critical patent/CN107454124B/zh
Publication of CN107454124A publication Critical patent/CN107454124A/zh
Application granted granted Critical
Publication of CN107454124B publication Critical patent/CN107454124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了设备自动化方法及装置,用以解决现有技术中的移动设备自动化往往只是针对单一场景进行的,而对于多场景,多上下文测试等自动化需求无法满足的问题。本申请公开的一种设备自动化方法,包括:服务端接收自动化指令;所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;所述服务端启动代理端,以便于所述代理端采用对应于所述设备类型的驱动程序,驱动至少一个属于所述设备类型的设备执行所述自动化指令。

Description

设备自动化方法及装置
技术领域
本申请涉及自动化领域,尤其涉及设备自动化方法及装置。
背景技术
随着移动互联网的高速发展,移动设备需求高速增长,移动设备以及应用设备上应用更加复杂化和多场景化。
在现有技术中,往往是通过机器模拟用户针对移动设备的操作,以实现移动设备自动化,移动设备自动化可以包括对移动设备以及移动设备上应用的自动化测试以及其他的自动化操作等。
但是,现有技术中的移动设备自动化往往只是针对比较简单的单一场景进行的,而对于多场景,多上下文测试等比较复杂的自动化需求无法满足。
发明内容
本申请实施例提供的设备自动化方法及装置,用于解决现有技术中的移动设备自动化对于多场景,多上下文测试等比较复杂的自动化需求无法满足的问题。
本申请实施例采用下述技术方案:
本申请实施例提供的一种设备自动化方法,包括:
服务端接收自动化指令;
所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;
所述服务端启动代理端,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,服务端接收自动化指令,具体包括:
所述服务端接收客户端发送的自动化指令,所述自动化指令是所述客户端从用户进程得到的。
可选地,所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型后,所述方法还包括:
所述服务端根据所述设备类型,确定所述至少一个属于所述设备类型的设备;
所述服务端与所述设备建立连接;
所述服务端基于与所述设备建立的连接,获得所述设备的上下文情况。
可选地,所述服务端根据所述设备类型,启动代理端后,所述方法还包括:
所述服务端向所述代理端提供所述设备类型与所述设备的上下文情况,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
本申请实施例提供的一种设备自动化装置,所述装置位于服务端,包括:
第一接收模块,接收自动化指令;
确定模块,根据所述自动化指令,确定所述自动化指令对应的设备类型;
启动模块,启动代理端,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,所述第一接收模块,接收客户端发送的自动化指令,所述自动化指令是所述客户端从用户进程得到的。
可选地,所述装置还包括:
第一获得模块,在所述确定模块根据所述自动化指令,确定所述自动化指令对应的设备类型后,根据所述设备类型,确定所述至少一个属于所述设备类型的设备,与所述设备建立连接,基于与所述设备建立的连接,获得所述设备的上下文情况。
可选地,所述装置还包括:
提供模块,在所述启动模块启动代理端后,向所述代理端提供所述设备类型与所述设备的上下文情况,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
本申请实施例提供的另一种设备自动化方法,包括:
代理端与至少一个设备建立连接,所述设备属于服务端接收的自动化指令对应的设备类型;
所述代理端接收所述自动化指令;
所述代理端基于与所述设备建立的连接,根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,所述代理端根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令前,所述方法还包括:
所述代理端从所述设备和/或所述服务端获得所述设备类型与所述设备的上下文情况。
可选地,代理端与至少一个设备建立连接,具体包括:
代理端从服务端获取至少一个设备的相关信息,所述设备属于服务端接收的自动化指令对应的设备类型,所述相关信息包括所述设备的地址;
所述代理端根据所述相关信息,与所述设备建立连接。
可选地,所述代理端接收所述自动化指令,具体包括:
所述代理端接收客户端和/或所述服务端发送的所述自动化指令,其中,所述客户端发送的所述自动化指令是所述客户端从用户进程得到的,所述服务端发送的所述自动化指令是所述服务端从所述客户端得到的。
本申请实施例提供的另一种设备自动化装置,所述装置位于代理端,包括:
连接模块,与至少一个设备建立连接,所述设备属于服务端接收的自动化指令对应的设备类型;
第二接收模块,接收所述自动化指令;
驱动模块,基于与所述设备建立的连接,根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,所述装置还包括:
第二获得模块,在所述驱动模块根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令前,从所述设备和/或所述服务端获得所述设备类型与所述设备的上下文情况。
可选地,所述连接模块,从服务端获取至少一个设备的相关信息,所述设备属于服务端接收的自动化指令对应的设备类型,根据所述相关信息,与所述设备建立连接,所述相关信息包括所述设备的地址。
可选地,所述第二接收模块,接收客户端和/或所述服务端发送的所述自动化指令,其中,所述客户端发送的所述自动化指令是所述客户端从用户进程得到的,所述服务端发送的所述自动化指令是所述服务端从所述客户端得到的。
本申请实施例提供的再一种设备自动化方法,包括:
客户端向服务端发送自动化指令,以便于所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;
所述客户端向代理端发送所述自动化指令,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,客户端向服务端发送自动化指令前,所述方法还包括:
所述客户端接收用户进程发送的所述自动化指令。
可选地,客户端向服务端发送自动化指令,具体包括:
客户端对所述自动化指令进行包装,所述包装包括针对所述自动化指令的协议转换;
所述客户端向服务端发送经过包装的自动化指令。
本申请实施例提供的再一种设备自动化装置,所述装置位于客户端,包括:
第一发送模块,向服务端发送自动化指令,以便于所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;
第二发送模块,向代理端发送所述自动化指令,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,所述装置还包括:
第三接收模块,在所述第一发送模块向服务端发送自动化指令前,接收用户进程发送的所述自动化指令。
可选地,所述第一发送模块,客户端对所述自动化指令进行包装,向服务端发送经过包装的自动化指令,所述包装包括针对所述自动化指令的协议转换。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:对于多场景的情况设备可以相应地具有多上下文,可以由服务器端启动的一个或多个代理端根据该设备的设备类型与该设备的上下文情况,采用对应的驱动程序驱动该设备执行所述自动化指令,从而可以满足多场景,多上下文测试等自动化需求,因此,可以部分或全部地解决现有技术中的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种设备自动化方法的流程示意图;
图2为本申请实施例提供的另一种设备自动化方法的流程示意图;
图3为本申请实施例提供的几种常见的设备驱动框架以及设备驱动框架与设备之间的连接协议示意图;
图4为本申请实施例提供的再一种设备自动化方法的流程示意图;
图5为本申请实施例提供的一种实际应用场景下,实施本申请的方案时的多端交互流程图;
图6为本申请实施例提供的对应于图1的设备自动化装置结构示意图;
图7为本申请实施例提供的对应于图2的设备自动化装置结构示意图;
图8为本申请实施例提供的对应于图4的设备自动化装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,所述设备可以是移动设备,比如手机、平板电脑、笔记本电脑、智能手表、智能手环、车载移动台等;所述设备也可以是非移动设备,比如个人计算机(PC)、大中型计算机、计算机集群等。
在本申请实施例中,所述的场景可以指设备上的应用的业务场景等。例如,对于手机上的应用,有基于本地运行的本地(Native)应用、有基于浏览器和互联网运行的Web应用、以及Native和Web兼具的应用等。Native、Web即可以分别为一类业务场景,对于每一类业务场景,根据具体业务内容的不同,又可以进一步地划分出很多细化的业务场景,比如,即时通讯的业务场景、支付的业务场景、多媒体视听的业务场景、游戏的业务场景等等,而且这些细化的业务场景还可以继续往下细化,本申请对业务场景的细化程度并不做限定。
目前,移动设备的设备类型越来越多,移动设备上的多场景应用也越来越多,这些情况导致了多场景,多上下文测试等自动化需求也越来越多,其中,设备类型可以基于平台进行划分,常见的平台有iOS平台、Android平台、PC平台(Desktop)等。如背景技术中所述,现有技术无法满足多场景,多上下文测试等自动化需求,而本申请的方案可以满足,下面进行说明。
本申请的方案可以由代理端或客户端或服务端,以及待执行自动化指令的设备实施;本申请的方案也可以其他端与代理端,以及待执行自动化指令的设备配合实施。
其中,待执行自动化指令的设备指本申请中所述的“设备自动化”中的“设备”,其他端可以指用户进程、客户端、服务端等,其他端和代理端可以位于待执行自动化指令的设备以外的其他设备上,用户进程、客户端、服务端和代理端中的任意两端可以位于同一设备上,也可以位于不同设备上。为了便于区分待执行自动化指令的设备与所述其他设备,以下提到的“设备”均是指待执行自动化指令的设备。
为了便于理解,下面分别从服务端、代理端、客户端的角度,对本申请的方案进行说明。
图1为本申请实施例提供的一种设备自动化方法的流程示意图,该流程的执行主体是服务端。
图1中的流程可以包括以下步骤:
S101:服务端接收自动化指令。
在本申请实施例中,所述自动化指令可以是用于自动化测试的测试指令,比如测试用例脚本中的语句等,也可以是用于自动化测试以外的其他自动化工作的操作指令,比如,用于自动购票脚本中的语句等。
在本申请实施例中,客户端可以与服务端预先建立连接,服务端接收的自动化指令可以是由客户端发送的,也可以是由用户直接向服务端写入的,等等。
S102:所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型。
在本申请实施例中,自动化指令中可以携带用于表明一种或多种设备类型的属性信息。属性信息可以由用户或机器预先设置,假定本次自动化过程期望由属于某种设备类型的设备来执行自动化指令,则可以通过设置使得属性信息表明这种设备类型。
在本申请实施例中,如前所述,设备类型可以基于平台进行划分,设备类型包括但不限于iOS、Android、Desktop中的至少一种。
S103:所述服务端启动代理端,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
在本申请实施例中,代理端可以是预定代理类的实例,则服务端启动代理端至少可以包括:服务端初始化该代理类的实例。
在本申请实施例中,步骤S103中的设备可以由服务端根据步骤S102中确定的设备类型来确定,比如,服务端可以根据该设备类型,找到属于该设备类型的一个或多个可用设备;步骤S103中的设备也可以由代理端根据该设备类型自行确定。
在本申请实施例中,服务端可以启动一个或多个代理端,用于驱动设备执行自动化指令。需要说明的是,在实际应用中,步骤S103也可以先于步骤S101和/或S102执行,若在执行步骤S102后,已经有已启动的可用的代理端,则服务端可以不重复执行启动代理端的步骤,而是可以配合已启动的可用的代理端完成后续自动化工作。
在本申请实施例中,代理端可以根据步骤S102中确定的设备类型与至少一个属于该设备类型的设备的上下文情况,为该设备提供对应于该设备类型,且对应于该设备的上下文情况的驱动程序,其中,该设备的上下文情况可以指与自动化指令相关的上下文和/或该设备所需的上下文等。
进一步地,针对多场景,多上下文测试等自动化需求,代理端可以为多场景,多上下文分别提供适用的驱动程序,以及可以驱动设备正常执行这些自动化需求对应的自动化指令。
例如,对于Native和Web混合的多场景,多上下文测试(可以包含原生功能测试、内嵌Web模块的测试等),可以对应分别提供适用于Native、Web相关场景的驱动程序,以及驱动设备正常执行相应的自动化指令。
当设备驱动更新和相应地的工具更新时,本申请的方案也支持横向扩展,以便快速适应变化。
通过上述方法,对于多场景的情况设备可以相应地具有多上下文,可以由服务器端启动的一个或多个代理端根据该设备的设备类型与该设备的上下文情况,采用对应的驱动程序驱动该设备执行所述自动化指令,从而可以满足多场景,多上下文测试等自动化需求,因此,可以部分或全部地解决现有技术中的问题。
不仅如此,由于本申请实施例中的自动化指令可以对应于一种或多种设备类型,而且代理端可以根据设备类型适配驱动程序,便于自动化指令跨平台运行,因此,本申请的方案的跨平台性较好,可以节省成本。
例如,在采用本申请的方案的情况下,可以支持同一份测试用例脚本或自动化脚本同时在iOS和Android两大平台交互运行,一次编写随处运行,极大缩减了脚本编写和维护的成本。需要说明的是,除了支持iOS和Android等移动设备对应的平台以外,本申请的方案同样也支持PC端对应的各种平台,如Windows、Linux等。
基于图1中的方法,本申请实施例还提供了图1中的方法的一些具体实施方案,以及扩展方案,下面进行说明。
在本申请实施例中,根据前面的说明可知,除了服务端、代理端和设备以外,还可以有客户端和用户进程参与本申请的方案。在一种实施过程中,对于步骤S101,服务端接收自动化指令,具体可以包括:所述服务端接收客户端发送的自动化指令,所述自动化指令是所述客户端从用户进程得到的。在这种情况下,本申请的方案的实施过程可以是从用户进程的动作开始的。
具体地,可以由用户进程启动服务端和客户端,以及通过用户进程在客户端登录,建立起客户端与服务端之间的连接,进而用户进行可以向客户端发送自动化指令,由客户端将自动化指令发送给服务端。需要说明的是,在实际应用中,客户端也可以对自动化指令进行包装后再发送给服务端,而不仅仅是直接转发,其中,所述包装可以包括针对自动化指令的协议转换等操作,进行包装的目的可以是为了提高自动化指令的安全性和/或后续处理效率等。
通过客户端和服务端的工作,可以为用户进程屏蔽很多技术细节,减少用户进程的工作量,可以提高本申请的方案对于用户的易用性。
在本申请实施例中,前面已经提到,设备的上下文情况可以由服务端从设备获得后提供给代理端,也可以由代理端自行从设备获得上下文情况。在前一种情况下,对于步骤S102,所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型后,还可以执行:所述服务端根据所述设备类型,确定所述至少一个属于所述设备类型的设备;所述服务端与所述设备建立连接;所述服务端基于与所述设备建立的连接,获得所述设备的上下文情况。进一步地,所述服务端根据所述设备类型,启动代理端后,还可以执行:所述服务端向所述代理端提供所述设备类型与所述设备的上下文情况,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
上面对本申请实施例提供的一种设备自动化方法(站在服务端角度)进行了说明。基于同样的思路,本申请实施例还提供了另一种设备自动化方法(站在代理端角度)。
图2为本申请实施例提供的另一种设备自动化方法的流程示意图,该流程的执行主体是代理端。
图2中的流程可以包括以下步骤:
S201:代理端与至少一个设备建立连接,所述设备属于服务端接收的自动化指令对应的设备类型。
在本申请实施例中,对代理端与设备建立连接的形式并不做限定,可以是一般的通信连接(如TCP连接等),也可以是具有映射绑定作用的连接,等等。
S202:所述代理端接收所述自动化指令。
在本申请实施例中,自动化指令可以是客户端发送给代理端的(其中可以也经过服务端的透传),也可以是服务端发送给代理端的。
S203:所述代理端基于与所述设备建立的连接,根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
在本申请实施例中,对于代理端采用的驱动程序的获取途径并不做限定。代理端本身可以是设备驱动框架(则设备驱动框架与设备建立连接),具有驱动程序,代理端也可以从其他驱动程序提供方获得驱动程序,等等。为了便于理解,本申请实施例还提供了几种常见的设备驱动框架以及设备驱动框架与设备之间的连接协议示意图,如图3所示。
图3中示出的设备驱动框架,分别为UIAutomator、XCTest、ChromeDiver、WebKitRemoteDebugger,另外还用Other Driver proxy表示其他设备驱动框架。
需要说明的是,图3中的设备驱动框架只是示例,并非对本申请的限定,设备驱动框架与设备之间的连接协议可以是socket或web socket等协议,socket、web socket也是作为所述连接协议的示例,并非对本申请的限定,除了示例的连接协议以外,任何基于链接的协议也是适用于本申请的方案的。
图2中的方法的主要效果与图1中的方法的主要效果相同,在此不赘述。
基于图2中的方法,本申请实施例还提供了图2中的方法的一些具体实施方案,以及扩展方案,下面进行说明。
在本申请实施例中,对于步骤S203,所述代理端根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令前,还可以执行:所述代理端从所述设备和/或所述服务端获得所述设备类型与所述设备的上下文情况。
在本申请实施例中,对于步骤S201,代理端与至少一个设备建立连接,具体可以包括:代理端从服务端获取至少一个设备的相关信息,所述设备属于服务端接收的自动化指令对应的设备类型,所述相关信息包括所述设备的地址;所述代理端根据所述相关信息,与所述设备建立连接。这种建立连接的方式有利于服务端掌握代理端与设备建立连接的情况。
在实际应用中,设备的相关信息除了包括设备的地址之外,还可以包括诸如设备类型、设备标识、设备端口等其他信息。
在本申请实施例中,对于步骤S202,所述代理端接收所述自动化指令,具体可以包括:所述代理端接收客户端和/或所述服务端发送的所述自动化指令,其中,所述客户端发送的所述自动化指令是所述客户端从用户进程得到的,所述服务端发送的所述自动化指令是所述服务端从所述客户端得到的。
上面对本申请实施例提供的另一种设备自动化方法(站在代理端角度)也进行了说明。基于同样的思路,本申请实施例还提供了再一种设备自动化方法(站在客户端角度)。
图4为本申请实施例提供的再一种设备自动化方法的流程示意图,该流程的执行主体是客户端。
图4中的流程可以包括以下步骤:
S401:客户端向服务端发送自动化指令,以便于所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型。
S402:所述客户端向代理端发送所述自动化指令,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
图4中的方法的主要效果与图1中的方法的主要效果相同,在此不赘述。
基于图4中的方法,本申请实施例还提供了图4中的方法的一些具体实施方案,以及扩展方案,下面进行说明。
在本申请实施例中,根据前面的说明可知,对于步骤S401,客户端向服务端发送自动化指令前,还可以执行:所述客户端接收用户进程发送的所述自动化指令。
在本申请实施例中,根据前面的说明可知,对于步骤S401,客户端向服务端发送自动化指令,具体可以包括:客户端对所述自动化指令进行包装,所述包装包括针对所述自动化指令的协议转换;所述客户端向服务端发送经过包装的自动化指令。为了便于理解,举例进行说明。
例如,对于点击一个按钮的操作对应的自动化指令,可以进行如下协议交换:
1、发送{command:“find_element”,args:{id:“buy”}}
2、接受{success:true,data:[“element_1”]}
3、发送{command:“click”,args:{elementId:“element_1”}}
4、接受{success:false,errMsg:[“unknow_error”]}
在本申请的方案中,通过客户端、服务端和代理端等多端的配合完成设备自动化工作,层次分明,结构简单,易于集成,可以支持大规模并发、集成自动化方案。
上面分别从三端对本申请的方案进行了说明。为了帮助更直观地了解本申请的方案,本申请实施例还提供了一种实际应用场景下,实施本申请的方案时的多端交互流程图,如图5所示。图5中的一共有用户进程、客户端、服务端、代理端和设备这五端。
图5中交互流程可以包括以下步骤:
1:用户进程使用未占用端口开启服务端,服务端可以启动Http服务。
2:服务端将已启动消息和端口应答给用户进程。
3:用户进程使用服务端应答的端口启动客户端。
4:客户端与服务端建立连接。
5:服务端应答消息给客户端,确定连接。
6:客户端将成功消息应答(可以采用透传方式)给用户进程。
7:用户进程发送自动化指令给客户端。
8:客户端将自动化指令包装后发送给客户端,具体可以包装为端到端交换协议。
9:服务端根据包装后的自动化指令,确定对应的设备类型(如是iOS还是Android等),以便得知对应于哪种平台(如iOS平台、Android平台等),找到并连接可用设备。
10:设备将连接后的状态应答给服务端。
11:服务端初始化代理端。
12:代理端与设备建立映射绑定。
13:设备应答绑定生效,已经准备好运行驱动指令(也即,已经准备好在代理端的驱动下执行自动化指令)。
14:成功应答发送(可以采用透传方式)给服务端。
15:成功应答发送(可以采用透传方式)给客户端。
16:客户端将自动化指令发送给代理端。
17:代理端根据设备对应的设备类型(所需平台)和上下文情况,初始化对应的驱动,并驱动设备执行自动化指令。
18:设备将成功消息返回代理端。
19:代理端将成功消息发送(可以采用透传方式)给客户端,客户端可以进行分析处理。
20:客户端向用户进程返回结果。
以上为本申请实施例提供的设备自动化方法,基于同样的思路,本申请实施例还提供相应的设备自动化装置结构示意图,如图6、图7、图8所示。
图6为本申请实施例提供的对应于图1的设备自动化装置结构示意图,所述装置位于服务端,包括:
第一接收模块601,接收自动化指令;
确定模块602,根据所述自动化指令,确定所述自动化指令对应的设备类型;
启动模块603,启动代理端,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,第一接收模块601,接收客户端发送的自动化指令,所述自动化指令是所述客户端从用户进程得到的。
可选地,所述装置还包括:
第一获得模块604,在确定模块602根据所述自动化指令,确定所述自动化指令对应的设备类型后,根据所述设备类型,确定所述至少一个属于所述设备类型的设备,与所述设备建立连接,基于与所述设备建立的连接,获得所述设备的上下文情况。
可选地,所述装置还包括:
提供模块605,在所述启动模块启动代理端后,向所述代理端提供所述设备类型与所述设备的上下文情况,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
图7为本申请实施例提供的对应于图2的设备自动化装置,所述装置位于代理端,包括:
连接模块701,与至少一个设备建立连接,所述设备属于服务端接收的自动化指令对应的设备类型;
第二接收模块702,接收所述自动化指令;
驱动模块703,基于与所述设备建立的连接,根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,所述装置还包括:
第二获得模块704,在驱动模块703根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令前,从所述设备和/或所述服务端获得所述设备类型与所述设备的上下文情况。
可选地,连接模块701,从服务端获取至少一个设备的相关信息,所述设备属于服务端接收的自动化指令对应的设备类型,根据所述相关信息,与所述设备建立连接,所述相关信息包括所述设备的地址。
可选地,第二接收模块702,接收客户端和/或所述服务端发送的所述自动化指令,其中,所述客户端发送的所述自动化指令是所述客户端从用户进程得到的,所述服务端发送的所述自动化指令是所述服务端从所述客户端得到的。
图8为本申请实施例提供的对应于图4的设备自动化装置,所述装置位于客户端,包括:
第一发送模块801,向服务端发送自动化指令,以便于所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;
第二发送模块802,向代理端发送所述自动化指令,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
可选地,所述装置还包括:
第三接收模块803,在第一发送模块801向服务端发送自动化指令前,接收用户进程发送的所述自动化指令。
可选地,第一发送模块801,客户端对所述自动化指令进行包装,向服务端发送经过包装的自动化指令,所述包装包括针对所述自动化指令的协议转换。
本申请提供的装置是与本申请提供的方法一一对应的,因此,所述装置也具有与所述方法类似的有益技术效果,由于上面已经对所述方法的有益技术效果进行了详细说明,因此,这里不赘述所述装置的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

1.一种设备自动化方法,其特征在于,包括:
服务端接收自动化指令,所述自动化指令为对于多场景多上下文自动化测试的测试指令,其中,所述多场景包括Nation及Web混合的业务场景;
所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;
所述服务端启动代理端,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
2.如权利要求1所述的方法,其特征在于,服务端接收自动化指令,具体包括:
所述服务端接收客户端发送的自动化指令,所述自动化指令是所述客户端从用户进程得到的。
3.如权利要求1所述的方法,其特征在于,所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型后,所述方法还包括:
所述服务端根据所述设备类型,确定所述至少一个属于所述设备类型的设备;
所述服务端与所述设备建立连接;
所述服务端基于与所述设备建立的连接,获得所述设备的上下文情况。
4.如权利要求3所述的方法,其特征在于,所述服务端根据所述设备类型,启动代理端后,所述方法还包括:
所述服务端向所述代理端提供所述设备类型与所述设备的上下文情况,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
5.一种设备自动化方法,其特征在于,包括:
代理端与至少一个设备建立连接,所述设备属于服务端接收的自动化指令对应的设备类型;
所述代理端接收所述自动化指令,所述自动化指令为对于多场景多上下文自动化测试的测试指令,其中,所述多场景包括Nation及Web混合的业务场景;
所述代理端基于与所述设备建立的连接,根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
6.如权利要求5所述的方法,其特征在于,所述代理端根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令前,所述方法还包括:
所述代理端从所述设备和/或所述服务端获得所述设备类型与所述设备的上下文情况。
7.如权利要求5所述的方法,其特征在于,代理端与至少一个设备建立连接,具体包括:
代理端从服务端获取至少一个设备的相关信息,所述设备属于服务端接收的自动化指令对应的设备类型,所述相关信息包括所述设备的地址;
所述代理端根据所述相关信息,与所述设备建立连接。
8.如权利要求5所述的方法,其特征在于,所述代理端接收所述自动化指令,具体包括:
所述代理端接收客户端和/或所述服务端发送的所述自动化指令,其中,所述客户端发送的所述自动化指令是所述客户端从用户进程得到的,所述服务端发送的所述自动化指令是所述服务端从所述客户端得到的。
9.一种设备自动化方法,其特征在于,包括:
客户端向服务端发送自动化指令,以便于所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;所述自动化指令为对于多场景多上下文自动化测试的测试指令,其中,所述多场景包括Nation及Web混合的业务场景;
所述客户端向代理端发送所述自动化指令,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
10.如权利要求9所述的方法,其特征在于,客户端向服务端发送自动化指令前,所述方法还包括:
所述客户端接收用户进程发送的所述自动化指令。
11.如权利要求9所述的方法,其特征在于,客户端向服务端发送自动化指令,具体包括:
客户端对所述自动化指令进行包装,所述包装包括针对所述自动化指令的协议转换;
所述客户端向服务端发送经过包装的自动化指令。
12.一种设备自动化装置,其特征在于,所述装置位于服务端,包括:
第一接收模块,接收自动化指令,所述自动化指令为对于多场景多上下文自动化测试的测试指令,其中,所述多场景包括Nation及Web混合的业务场景;
确定模块,根据所述自动化指令,确定所述自动化指令对应的设备类型;
启动模块,启动代理端,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
13.如权利要求12所述的装置,其特征在于,所述第一接收模块,接收客户端发送的自动化指令,所述自动化指令是所述客户端从用户进程得到的。
14.如权利要求12所述的装置,其特征在于,所述装置还包括:
第一获得模块,在所述确定模块根据所述自动化指令,确定所述自动化指令对应的设备类型后,根据所述设备类型,确定所述至少一个属于所述设备类型的设备,与所述设备建立连接,基于与所述设备建立的连接,获得所述设备的上下文情况。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:
提供模块,在所述启动模块启动代理端后,向所述代理端提供所述设备类型与所述设备的上下文情况,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
16.一种设备自动化装置,其特征在于,所述装置位于代理端,包括:
连接模块,与至少一个设备建立连接,所述设备属于服务端接收的自动化指令对应的设备类型;
第二接收模块,接收所述自动化指令,所述自动化指令为对于多场景多上下文自动化测试的测试指令,其中,所述多场景包括Nation及Web混合的业务场景;
驱动模块,基于与所述设备建立的连接,根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
17.如权利要求16所述的装置,其特征在于,所述装置还包括:
第二获得模块,在所述驱动模块根据所述设备类型与所述设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令前,从所述设备和/或所述服务端获得所述设备类型与所述设备的上下文情况。
18.如权利要求16所述的装置,其特征在于,所述连接模块,从服务端获取至少一个设备的相关信息,所述设备属于服务端接收的自动化指令对应的设备类型,根据所述相关信息,与所述设备建立连接,所述相关信息包括所述设备的地址。
19.如权利要求16所述的装置,其特征在于,所述第二接收模块,接收客户端和/或所述服务端发送的所述自动化指令,其中,所述客户端发送的所述自动化指令是所述客户端从用户进程得到的,所述服务端发送的所述自动化指令是所述服务端从所述客户端得到的。
20.一种设备自动化装置,其特征在于,所述装置位于客户端,包括:
第一发送模块,向服务端发送自动化指令,以便于所述服务端根据所述自动化指令,确定所述自动化指令对应的设备类型;所述自动化指令为对于多场景多上下文自动化测试的测试指令,其中,所述多场景包括Nation及Web混合的业务场景;
第二发送模块,向代理端发送所述自动化指令,以便于所述代理端根据所述设备类型与至少一个属于所述设备类型的设备的上下文情况,采用对应的驱动程序驱动所述设备执行所述自动化指令。
21.如权利要求20所述的装置,其特征在于,所述装置还包括:
第三接收模块,在所述第一发送模块向服务端发送自动化指令前,接收用户进程发送的所述自动化指令。
22.如权利要求20所述的装置,其特征在于,所述第一发送模块,客户端对所述自动化指令进行包装,向服务端发送经过包装的自动化指令,所述包装包括针对所述自动化指令的协议转换。
CN201610375229.2A 2016-05-31 2016-05-31 设备自动化方法及装置 Active CN107454124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610375229.2A CN107454124B (zh) 2016-05-31 2016-05-31 设备自动化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610375229.2A CN107454124B (zh) 2016-05-31 2016-05-31 设备自动化方法及装置

Publications (2)

Publication Number Publication Date
CN107454124A CN107454124A (zh) 2017-12-08
CN107454124B true CN107454124B (zh) 2020-11-03

Family

ID=60485042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610375229.2A Active CN107454124B (zh) 2016-05-31 2016-05-31 设备自动化方法及装置

Country Status (1)

Country Link
CN (1) CN107454124B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766276B (zh) * 2018-12-29 2024-01-12 通力科技股份有限公司 开放式平台测试方法、装置、计算机可读存储介质及***

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1997909A (zh) * 2004-05-22 2007-07-11 株式会社爱德万测试 用于控制模块化测试***中可互换部件的方法和***
CN102141962A (zh) * 2011-04-07 2011-08-03 北京航空航天大学 一种安全性分布式测试框架***及其测试方法
CN102185738A (zh) * 2011-05-13 2011-09-14 迈普通信技术股份有限公司 通信设备硬件主机的测试***及测试方法
CN102377733A (zh) * 2010-08-12 2012-03-14 盛科网络(苏州)有限公司 应用层协议的自动化测试***及其自动化测试方法
CN103312850A (zh) * 2013-05-10 2013-09-18 江苏科技大学 一种手机自动化测试***及工作方法
CN103678100A (zh) * 2012-09-10 2014-03-26 联芯科技有限公司 终端的应用自动化测试方法及其***
CN104834594A (zh) * 2014-12-29 2015-08-12 平安科技(深圳)有限公司 web***测试方法及装置
CN104834586A (zh) * 2014-02-10 2015-08-12 腾讯科技(深圳)有限公司 安卓界面自动化测试方法、装置及***
CN104978259A (zh) * 2014-04-01 2015-10-14 ***股份有限公司 移动设备软件自动化测试集群***及其测试方法
CN105405221A (zh) * 2015-10-28 2016-03-16 深圳怡化电脑股份有限公司 一种自动化测试的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2012110523A (ru) * 2012-03-20 2013-10-27 Оракл Интернешенел Корпорейшн Основанная на доменах система тестирования для обеспечения безопасности

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1997909A (zh) * 2004-05-22 2007-07-11 株式会社爱德万测试 用于控制模块化测试***中可互换部件的方法和***
CN102377733A (zh) * 2010-08-12 2012-03-14 盛科网络(苏州)有限公司 应用层协议的自动化测试***及其自动化测试方法
CN102141962A (zh) * 2011-04-07 2011-08-03 北京航空航天大学 一种安全性分布式测试框架***及其测试方法
CN102185738A (zh) * 2011-05-13 2011-09-14 迈普通信技术股份有限公司 通信设备硬件主机的测试***及测试方法
CN103678100A (zh) * 2012-09-10 2014-03-26 联芯科技有限公司 终端的应用自动化测试方法及其***
CN103312850A (zh) * 2013-05-10 2013-09-18 江苏科技大学 一种手机自动化测试***及工作方法
CN104834586A (zh) * 2014-02-10 2015-08-12 腾讯科技(深圳)有限公司 安卓界面自动化测试方法、装置及***
CN104978259A (zh) * 2014-04-01 2015-10-14 ***股份有限公司 移动设备软件自动化测试集群***及其测试方法
CN104834594A (zh) * 2014-12-29 2015-08-12 平安科技(深圳)有限公司 web***测试方法及装置
CN105405221A (zh) * 2015-10-28 2016-03-16 深圳怡化电脑股份有限公司 一种自动化测试的方法及装置

Also Published As

Publication number Publication date
CN107454124A (zh) 2017-12-08

Similar Documents

Publication Publication Date Title
CN107203419B (zh) 应用程序中的模块间调用方法、装置及***
CN106874174B (zh) 接口测试及功能测试的实现方法和装置
CN109857404B (zh) Sdk接口的封装方法及装置、存储介质、电子设备
CN104821954A (zh) 一种跨平台远程过程调用方法
CN110290557B (zh) 一种加载应用内页面标签的方法与设备
CN113190464A (zh) mock测试方法、装置、电子设备及介质
CN109542754B (zh) 移动设备的接入方法、应用程序的调试方法、装置和***
CN112579948A (zh) 网页截图方法、装置及存储介质、电子设备
CN114168460A (zh) 混合开发中前端代码的远程调试方法、设备及存储介质
CN106599045B (zh) 一种请求发送方法及装置
JP2018500670A (ja) 非構造化メッセージの処理
CN112463618A (zh) 自动化测试方法、装置、介质及设备
US20170331912A1 (en) Multi-account login and communication
WO2021056640A1 (zh) 一种机器设备的控制方法及装置、存储介质
CN114996134A (zh) 容器化部署方法、电子设备及存储介质
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN107454124B (zh) 设备自动化方法及装置
CN110837446A (zh) 应用于嵌入式***的设备管理方法及装置、介质以及嵌入式设备
CN104407846B (zh) 一种信息处理方法及装置
CN110839053B (zh) 设备通信方法、装置、设备和存储介质
CN109600403B (zh) 一种发送信息的方法及装置
CN111124907A (zh) 一种***测试方法、装置和服务器
CN108089927B (zh) 基于Web Worker实现消息通信的方法以及装置
CN110766886B (zh) 驱动装置及其驱动读卡器实现卡片业务的方法、自助缴费***
CN113050956B (zh) 用于自动安装应用的方法、设备、介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240228

Address after: 128 Meizhi Road, Guohao Times City # 20-01, Singapore 189773

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right