CN112866312A - 一种脚本生成方法、远程操作方法及相关设备 - Google Patents
一种脚本生成方法、远程操作方法及相关设备 Download PDFInfo
- Publication number
- CN112866312A CN112866312A CN201911179962.7A CN201911179962A CN112866312A CN 112866312 A CN112866312 A CN 112866312A CN 201911179962 A CN201911179962 A CN 201911179962A CN 112866312 A CN112866312 A CN 112866312A
- Authority
- CN
- China
- Prior art keywords
- interface image
- control
- script file
- test
- operation 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000012360 testing method Methods 0.000 claims abstract description 225
- 238000004891 communication Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种脚本生成方法、远程操作方法及相关设备,控制设备与第一测试设备建立通信连接,该脚本生成方法包括:接收所述第一测试设备发送的所述第一测试设备的界面图像;将所述界面图像显示在与所述控制设备连接的屏幕上;记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第一测试设备进行远程操作;根据所述操作记录生成脚本文件,并存储所述脚本文件。本发明实施例能够将对第一测试设备进行远程操作的记录生成脚本文件,使得后续可以直接利用该脚本文件对其他设备进行相同操作或测试,而无需用户手动操作,进而可提高操作效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种脚本生成方法、远程操作方法及相关设备。
背景技术
远程操作是利用无线或电信号对远端的设备进行操作,通常通过网络才能进行,在软件开发过程中,为了发现软件中潜在的错误、缺陷,通常会对开发出来的软件进行远程测试,或者为了辅助他人完成在设备上的某项操作或检测,会对设备进行远程操控。现有技术中,用户可以使用开源工具智能手机测试场(Smartphone Test Farm,简称STF)在浏览器上远程操作、调试、测试设备等,但缺乏对用户远程操作的记录,用户还可以使用另一开源工具WEditor来获取设备上的控件元素,并对设备进行操作,然而WEditor获取的设备画面为静态画面,并非实时画面,从而易导致操作出错。这样,使用现有远程操作方法不仅不便于操作,而且每操作一台设备,都需要用户重新手动一步一步地输入操作。
可见,现有设备远程操作方法存在操作效率较低的问题。
发明内容
本发明实施例提供一种脚本生成方法、远程操作方法及相关设备,以解决现有设备远程操作方法存在操作效率较低的问题。
为解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种脚本生成方法,应用于控制设备,所述控制设备与第一测试设备建立通信连接,所述方法包括:
接收所述第一测试设备发送的所述第一测试设备的界面图像;
将所述界面图像显示在与所述控制设备连接的屏幕上;
记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第二设备进行远程操作;
根据所述操作记录生成脚本文件,并存储所述脚本文件。
可选的,所述操作记录包括所述操作指令对应的操作位置、操作控件名称和操作事件中的至少一项。
可选的,所述记录作用于所述界面图像所在显示区域上的操作指令之前,所述方法还包括:
获取所述界面图像中的控件元素信息;
基于所述控件元素信息,确定各控件在所述界面图像中的有效区域;
在所述屏幕上的操作指针位于目标控件的有效区域时,触发所述目标控件的有效区域显示预设标记。
第二方面,本发明实施例提供一种远程操作方法,应用于控制设备,所述控制设备与第二测试设备建立通信连接,所述方法包括:
导入并运行脚本文件,其中,所述脚本文件为按照上述第一方面所述的脚本生成方法得到的脚本文件;
获取所述脚本文件中的操作指令;
将所述操作指令发送至所述第二测试设备,以对所述第二测试设备进行与第一测试设备相同的远程操作。
可选的,所述获取所述脚本文件中的操作指令,包括:
获取所述脚本文件中的操作指令所针对的目标操作控件;
获取所述目标操作控件在所述第二测试设备中的目标位置;
将所述目标位置确定为所述操作指令的操作位置;
所述将所述操作指令发送至所述第二测试设备,包括:
将所述操作指令的操作位置发送至所述第二测试设备。
可选的,所述脚本文件中记录有第一测试设备的界面图像分辨率;
所述将所述操作指令发送至所述第二测试设备,还包括:
将所述脚本文件中记录的所述第一测试设备的界面图像分辨率发送至所述第二测试设备,以使所述第二测试设备向所述控制设备发送分辨率与所述界面图像分辨率相同的界面图像。
第三方面,本发明实施例提供一种脚本生成装置,设置于控制设备,所述控制设备与第一测试设备建立通信连接,所述脚本生成装置包括:
接收模块,用于接收所述第一测试设备发送的所述第一测试设备的界面图像;
第一显示模块,用于将所述界面图像显示在与所述控制设备连接的屏幕上;
记录模块,用于记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第一测试设备进行远程操作;
生成与存储模块,用于根据所述操作记录生成脚本文件,并存储所述脚本文件。
可选的,所述操作记录包括所述操作指令对应的操作位置、操作控件名称和操作事件中的至少一项。
可选的,所述脚本生成装置还包括:
获取模块,用于获取所述界面图像中的控件元素信息;
确定模块,用于基于所述控件元素信息,确定各控件在所述界面图像中的有效区域;
第二显示模块,用于在所述屏幕上的操作指针位于目标控件的有效区域时,触发所述目标控件的有效区域显示预设标记。
第四方面,本发明实施例提供一种远程操作装置,设置于控制设备,所述控制设备与第二测试设备建立通信连接,所述远程操作装置包括:
运行模块,用于导入并运行脚本文件,其中,所述脚本文件为按照上述第一方面所述的脚本生成方法得到的脚本文件;
获取模块,用于获取所述脚本文件中的操作指令;
发送模块,用于将所述操作指令发送至所述第二测试设备,以对所述第二测试设备进行与第一测试设备相同的远程操作。
可选的,所述获取模块包括:
第一获取单元,用于获取所述脚本文件中的操作指令所针对的目标操作控件;
第二获取单元,用于获取所述目标操作控件在所述第二测试设备中的目标位置;
确定单元,用于将所述目标位置确定为所述操作指令的操作位置;
所述发送模块用于将所述操作指令的操作位置发送至所述第二测试设备。
可选的,所述脚本文件中记录有第一测试设备的界面图像分辨率;
所述发送模块还用于将所述脚本文件中记录的所述第一测试设备的界面图像分辨率发送至所述第二测试设备,以使所述第二测试设备向所述控制设备发送分辨率与所述界面图像分辨率相同的界面图像。
第五方面,本发明实施例提供一种脚本生成系统,包括控制设备和测试设备,所述控制设备与所述测试设备建立通信连接,其中,
所述测试设备用于向所述控制设备发送所述测试设备的界面图像;
所述控制设备用于接收所述测试设备发送的所述测试设备的界面图像;将所述界面图像显示在与所述控制设备连接的屏幕上;记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第二设备进行远程操作;根据所述操作记录生成脚本文件,并存储所述脚本文件。
第六方面,本发明实施例提供一种控制设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的脚本生成方法中的步骤,或者,所述计算机程序被所述处理器执行时实现上述第二方面所述的远程操作方法中的步骤。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的脚本生成方法中的步骤;或者所述计算机程序被处理器执行时实现上述第二方面所述的远程操作方法中的步骤。
本发明实施例中,第一测试设备可以在与控制设备建立通信连接的情况下,向控制设备发送其界面图像,使得控制设备端的用户可以通过该界面图像对第一测试设备进行远程操控,并通过将用户每次的操作指令进行记录,生成脚本文件,使得后续可以直接利用该脚本文件对其他设备进行相同操作或测试,而无需用户手动操作,进而可提高操作效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种脚本生成方法的流程图;
图2是本发明实施例提供的一种远程操作方法的流程图;
图3是本发明实施例提供的另一种远程操作方法的流程图;
图4是本发明实施例提供的一种远程操作方法的交互流程图;
图5是本发明实施例提供的一种脚本生成装置的结构示意图;
图6是本发明实施例提供的另一种脚本生成装置的结构示意图;
图7是本发明实施例提供的一种远程控制装置的结构示意图;
图8是本发明实施例提供的一种远程控制装置的获取模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的一种脚本生成方法的流程图,应用于控制设备,所述控制设备与第一测试设备建立通信连接,如图1所示,所述方法包括以下步骤:
步骤101、接收所述第一测试设备发送的所述第一测试设备的界面图像。
本发明实施例中,上述控制设备可以是电脑、计算机或服务器等设备,上述第一测试设备可以是移动终端、计算机等移动设备,且所述控制设备可以与所述第一测试设备建立通信连接,以对所述第一测试设备进行远程操作,达到测试、调试或辅助完成任务的目的,其中,所述控制设备与所述第一测试设备建立通信连接的方式可以是无线、数据线或局域网等形式,在此并不作具体限定。
在所述控制设备与所述第一测试设备建立通信连接后,所述第一测试设备可以将其界面图像发送至所述控制设备,如所述第一测试设备可以通过对界面进行截屏、录屏等方式获得界面图像,并可以将该界面图像发送至所述控制设备,且为保证传输实时的界面图像,可以对界面进行不断地截屏或录屏,并将得到的界面图像持续地发送至所述控制设备,这样所述控制设备可以接收到所述第一测试设备上最新的界面图像。
步骤102、将所述界面图像显示在与所述控制设备连接的屏幕上。
上述屏幕可以是所述控制设备的屏幕,也可以是与所述控制设备连接的外部设备的显示屏幕。所述控制设备在接收所述第一测试设备的界面图像后,可以将其显示在所述屏幕上,以供开发人员基于显示的界面图像对所述第一测试设备进行操控或调试。当所述屏幕为外部设备的显示屏幕时,可以将所述界面图像传输至所述屏幕显示。
步骤103、记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第二设备进行远程操作。
在显示所述第一测试设备的界面图像后,可以通过所述界面图像获知所述第一测试设备上各控件元素信息,如控件的位置信息、控件的名称等,从而所述控制设备端的开发人员可以基于所述界面图像上的控件,对所述第一测试设备进行远程操控,如当用户点击所述界面图像上的某控件时,所述第一测试设备可以响应该点击操作,启动该控件对应的功能。
也就是说,所述第一测试设备可以基于开发人员在所述屏幕上显示的所述界面图像上的操作指令,执行与所述操作指令对应的操控事件,具体地,可以基于用户在所述界面图像所在显示区域上的操作位置,得到具体操作的控件信息,然后响应对该控件的操作,执行与该操作对应的事件。
更具体地,所述第一测试设备可以接收所述控制设备发送的目标操作位置,其中,所述目标操作位置为用户在所述界面图像所在显示区域上的操作指令对应于所述第一测试设备上的操作位置;通过工具atx-gent执行所述目标操作位置处的操作对应的操控事件。
即该方式中,所述控制设备可以获取用户操作的位置信息,如鼠标位置,然后根据所述屏幕的尺寸信息、所述界面图像在所述屏幕上的尺寸信息、所述第一测试设备的屏幕尺寸信息等,将所述操作的位置信息换算成对应所述第一测试设备上的目标操作位置,即确定用户在所述屏幕上的操作位置将对应于所述第一测试设备上的哪个操作位置,以便确定用户的操作事件;所述控制设备还可以将所述目标操作位置发送至所述第一测试设备,所述第一测试设备则可以执行所述目标操作位置处的操作对应的操控事件,具体地,可以是通过工具atx-gent执行对所述第一测试设备的远程操作。
本发明实施例中,可以在用户通过所述屏幕上显示的界面图像对所述第一测试设备进行远程操作的过程中,将用户的每一步操作记录下来,即所述控制设备可以记录用户每次在所述界面图像所在显示区域上的操作指令得到操作记录,以根据用户的操作记录,生成独立的可执行脚本文件。
其中,所述操作记录可以包括所述操作指令对应的操作位置、操作控件名称和操作事件中的一项或多项。即可以在每次操作中,记录下用户每次操作的操作位置、操作控件名称、操作事件、操作时间等。例如,可以在用户每次触控所述界面图像上的控件时,记录下该操作的位置、操作动作(点击、滑动等)、操作的控件名称、操作对应的事件(启动程序、关闭程序等)等信息,从而得到用户对所述第一测试设备进行远程操作的操作记录。
可选的,所述步骤103之前,所述方法还包括:
获取所述界面图像中的控件元素信息;
基于所述控件元素信息,确定各控件在所述界面图像中的有效区域;
在所述屏幕上的操作指针位于目标控件的有效区域时,触发所述目标控件的有效区域显示预设标记。
为保证用户可准确地通过所述屏幕上显示的界面图像对所述第一测试设备进行远程操作,可以在接收所述第一测试设备的界面图像后,获取所述界面图像中的控件元素信息,即控件的位置、控件名称等信息,具体地,可以是使用开源工具uiautomator2来获取所述第一测试设备最新界面图像上的控件元素信息;然后,可以基于所述控件元素信息,确定各控件在所述界面图像中的有效区域,并且可以将各控件在所述界面图像中的有效区域绘制出来,例如,可以在所述界面图像上将各控件的有效触控区域使用框线绘制出来,使得用户可以更为直观地确定所述第二设备上各控件的位置。
当用户将所述屏幕上的操作指针移动至目标控件的有效区域或在目标控件的有效区域上移动时,可以触发所述目标控件的有效区域显示预设标记,如高亮显示该有效区域,或使用特定颜色显示该有效区域等,以提示用户该目标控件的可触控区域,所述目标控件可为所述界面图像中的任一控件。其中,所述操作指针的位置可受鼠标、键盘或其他第三方控制器控制。
这样,只有在用户操作各控件的有效区域的情况下,所述第一测试设备才会响应该操作,在用户操作无效区域时,所述第一测试设备将判断为无效操作。
步骤104、根据所述操作记录生成脚本文件,并存储所述脚本文件。
该步骤中,可以将所述操作记录生成脚本文件,以便后续再使用该脚本文件对所述第一测试设备进行重复操作或对其他设备进行类似操作,并且可以将所述脚本文件进行存储,如存储在本地或上传至云端,保存的脚本文件可以在本地独立运行,也可以导入到网页的脚本编辑器中多次运行,以实时查看回放画面或进行重复测试。
可选的,所述步骤101包括:
接收所述第一测试设备通过minicap发送的实时界面图像。
该实施方式中,为保证所述控制设备接收到所述第一测试设备的最新界面图像,所述第一测试设备可以使用minicap工具截取实时界面图像,并向所述控制设备不断传输该界面图像,其中,minicap工具可以单独安装在所述第一测试设备上,并在与所述控制设备建立通信连接时,由用户手动启动,也可以合并在智能手机测试场(Smartphone TestFarm,简称STF)源码中,由STF启动触发minicap启动。
可选的,所述接收所述第一测试设备通过minicap发送的实时界面图像,包括:
在浏览器上通过网页接口websocket接收所述第一测试设备通过minicap发送的实时界面图像;
所述步骤104包括:
将所述操作记录以脚本的方式生成在所述浏览器的脚本编辑器中;
在用户操作完后,保存生成独立的脚本文件。
该实施方式中,所述控制设备可以是通过浏览器远程操作所述第一测试设备,具体地,可以是通过浏览器与所述第一测试设备上的minicap进行画面通信,所述第一测试设备可以通过网页接口websocket不断向所述控制设备发送blob格式的图像数据,即其实时界面图像,所述控制设备则可以在浏览器上通过websocket接收到该图像数据。
其中,为保证图像数据传输的实时性和快速性,可以在传输界面图像数据之前,先设置图像分辨率,即所接收的界面图像的大小,所述控制设备在接收所述第二设备传输的实时界面图像之后,可以在所述浏览器上为每张界面图像创建canvas标签,通过设置canvas的图像地址,将所述实时界面图像以动画的形式进行展示。
需说明的是,在设置图像分辨率后,可以将该图像分辨率记录在所述脚本文件中,以使得后续在利用该脚本文件对其他测试设备进行类似操作时,可以指示其他测试设备也将界面截图的分辨率设置为该图像分辨率,进而保证所述脚本文件能够适用于不同分辨率的测试设备。
该方式中,所述浏览器上可以显示有脚本编辑器,用于记录用户在所述实时界面图像上的操作数据,具体地,用户在所述实时界面图像上每操作一次,所述脚本编辑器中都将自动生成该操作的脚本程序,且通过脚本记录该操作的操作位置、操作的控件名称、操作动作等信息。
在用户操作完成后,可以对所生成的脚本文件进行保存,以得到独立的py可执行文件,即脚本文件,保存方式具体可以是由用户手动点击保存,或在未检测到用户的进一步操作后自动保存,所述脚本文件可以是保存至本地,或上传至云端存储系统,如Redis系统,以便后续重复利用所述脚本文件。
本实施例中的脚本生成方法,第一测试设备可以在与控制设备建立通信连接的情况下,向控制设备发送其界面图像,使得控制设备端的用户可以通过该界面图像对第一测试设备进行远程操控,并通过将用户每次的操作指令进行记录,生成脚本文件,使得后续可以直接利用该脚本文件对其他设备进行相同操作或测试,而无需用户手动操作,进而可提高操作效率。
参见图2,图2是本发明实施例提供的一种远程操作方法的流程图,应用于控制设备,所述控制设备与第二测试设备建立通信连接,如图2所示,所述方法包括以下步骤:
步骤201、导入并运行脚本文件,其中,所述脚本文件为按照图1所述的脚本生成方法得到的脚本文件;
步骤202、获取所述脚本文件中的操作指令;
步骤203、将所述操作指令发送至所述第二测试设备,以对所述第二测试设备进行与第一测试设备相同的远程操作。
上述第二测试设备可以是与前述第一测试设备类似或相同的设备,即本实施例中,还可以重复利用所述脚本文件,对其他设备进行相同远程操作或测试,具体地,所述控制设备可以与第二测试设备建立通信连接,接收所述第二测试设备发送的界面图像,然后通过运行所述脚本文件,可以使所述控制设备自动地按照对所述第一测试设备进行远程操作的方式,对所述第二测试设备进行相同操作。
更为具体地,所述控制设备在运行所述脚本文件后,可以获取所述脚本文件中的操作指令,如分析出所述脚本文件中的操作指令所针对的操作控件、操作功能(如启动、关闭)等,然后将所述操作指令发送至所述第二测试设备,使得所述第二测试设备执行该操作指令,进而达到对所述第二测试设备进行与第一测试设备相同的远程操作的目的,且该过程无需用户手动操作,从而能极大提升操作效率。
例如,若所述脚本文件中记录了对所述第一测试设备上的某应用程序进行了启动操作,则在运行所述脚本文件后,将向所述第二测试设备发送启动该应用程序的指令,从而远程启动所述第二测试设备上的相同应用程序。
这样,通过保存的脚本文件,可以无需用户再手动输入操作或手动一步步地测试,只需在连接其他设备的情况下运行所述脚本文件即可。
可选的,所述步骤202包括:
获取所述脚本文件中的操作指令所针对的目标操作控件;
获取所述目标操作控件在所述第二测试设备中的目标位置;
将所述目标位置确定为所述操作指令的操作位置;
所述步骤203包括:
将所述操作指令的操作位置发送至所述第二测试设备。
在运行所述脚本文件后,可以进一步获取所述脚本文件中的操作指令所针对的目标操作控件,当所述脚本文件中存在多个不同的操作指令时,可以分别获取每个操作指令所针对的目标操作控件,例如,获取所述脚本文件中的第一操作指令所针对的操作控件为第一应用程序,获取所述脚本文件中的第二操作指令所针对的操作控件为第二应用程序,等等。
然后,可以基于所述第二测试设备发送的界面图像,确定所述第二测试设备中的各控件元素信息,进而确定所述目标操作控件在所述第二测试设备中的目标位置,该目标位置即为所述操作指令的操作位置。
最后,可将所述操作指令的操作位置即所述目标位置发送至所述第二测试设备,以使所述第二测试设备响应在所述目标位置处的触控操作,即响应于对所述目标操作控件的触控操作。
这样,通过获取所述脚本文件中的操作指令所针对的目标操作控件在所述第二测试设备中的操作位置,可实现自动对所述第二测试设备进行相同的远程操作。
可选的,所述脚本文件中记录有第一测试设备的界面图像分辨率;
所述步骤203还包括:
将所述脚本文件中记录的所述第一测试设备的界面图像分辨率发送至所述第二测试设备,以使所述第二测试设备向所述控制设备发送分辨率与所述界面图像分辨率相同的界面图像。
为保证所述脚本文件能够适用于不同分辨率的测试设备,可以将对所述第一测试设备进行远程操作时设置的界面图像分辨率记录在所述脚本文件中,并且在利用所述脚本文件对其他测试设备,如所述第二测试设备进行相同远程操作时,将所述脚本文件中记录的所述第一测试设备的界面图像分辨率发送至所述第二测试设备,使得所述第二测试设备将其界面截图分辨率也设置成与所述第一测试设备相同的界面图像分辨率,进而在对所述第二测试设备进行远程操作的过程中,所述第二测试设备将向所述控制设备发送分辨率为所述界面图像分辨率的界面图像。
本实施例中的远程操作方法,在对第二测试设备进行远程操作的过程中,只需通过导入并运行对第一测试设备进行远程操作中生成的脚本文件,获取所述脚本文件中的操作指令,并将所述操作指令发送至所述第二测试设备,便可实现对所述第二测试设备进行与第一测试设备相同的远程操作,而无需用户手动操作,从而可提高操作效率。
参见图3,图3是本发明实施例提供的另一种远程操作方法的流程图,应用于第一测试设备,所述第一测试设备与控制设备建立通信连接,如图3所示,所述方法包括以下步骤:
步骤301、向所述控制设备发送所述第一测试设备的实时界面图像。
步骤302、基于用户在所述实时界面图像所在显示区域上的操作指令,执行与所述操作指令对应的操控事件。
可选的,步骤302包括:
接收所述控制设备发送的目标操作位置,其中,所述目标操作位置为用户在所述实时界面图像上的操作指令对应于所述第一测试设备上的操作位置;
通过工具atx-gent执行所述目标操作位置处的操作指令对应的操控事件。
需说明的是,本发明实施例中所述第一测试设备作为与图1所示的实施例中对应的第一测试设备的实施方式,其具体实施方式可参见图1所示的实施例中的相关描述,为避免重复,此处不再赘述。
本实施例中的远程操作方法,第一测试设备可以在与控制设备建立通信连接的情况下,向控制设备发送其实时界面图像,使得控制设备端的用户可以通过该实时界面图像对第一测试设备进行准确地远程操控,从而无需用户反复操作,进而可提高操作效率。
下面结合图4,以控制设备为电脑,测试设备为移动设备为例,对本发明实施例的具体实施方式进行举例说明:
如图4所示,电脑与移动设备可以通过WIFI建立通信连接,电脑通过浏览器的websocket接口接收移动设备通过minicap发送的实时设备画面,并将接收的设备画面展示在浏览器上;
用户可在浏览器显示的设备画面上进行操作,移动设备则可以接收对应位置处的操作,执行对应的功能,同时,电脑可以将用户的操作记录生成脚本文件,生成的脚本文件可以存储在本地或云端。
当需要再次利用生成的脚本文件对移动设备进行重复测试时,可以通过本地导入或云端导入脚本文件,并在浏览器上执行该脚本文件,电脑可以调用hug后端接口对连接的移动设备进行相同测试,hug后端接口可以生成测试数据并上传,用户可在电脑端查看测试结果。
参见图5,图5是本发明实施例提供的一种脚本生成装置的结构示意图,该脚本生成装置设置于控制设备,所述控制设备与第一测试设备建立通信连接,如图5所示,脚本生成装置500包括:
接收模块501,用于接收所述第一测试设备发送的所述第一测试设备的界面图像;
第一显示模块502,用于将所述界面图像显示在与所述控制设备连接的屏幕上;
记录模块503,用于记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第一测试设备进行远程操作;
生成与存储模块504,用于根据所述操作记录生成脚本文件,并存储所述脚本文件。
可选的,所述操作记录包括所述操作指令对应的操作位置、操作控件名称和操作事件中的至少一项。
可选的,如图6所示,脚本生成装置500还包括:
获取模块505,用于获取所述界面图像中的控件元素信息;
确定模块506,用于基于所述控件元素信息,确定各控件在所述界面图像中的有效区域;
第二显示模块507,用于在所述屏幕上的操作指针位于目标控件的有效区域时,触发所述目标控件的有效区域显示预设标记。
脚本生成装置500能够实现图1所示的方法实施例中控制设备实现的各个过程,为避免重复,这里不再赘述。本发明实施例的脚本生成装置500通过接收第一测试设备发送的界面图像,使得控制设备端的用户可以通过该界面图像对第一测试设备进行远程操控,并通过将用户每次的操作指令进行记录,生成脚本文件,使得后续可以直接利用该脚本文件对其他设备进行相同操作或测试,而无需用户手动操作,进而可提高操作效率。
参见图7,图7是本发明实施例提供的一种远程操作装置的结构示意图,该远程操作装置设置于控制设备,所述控制设备与第二测试设备建立通信连接,如图7所示,远程操作装置700包括:
运行模块701,用于导入并运行脚本文件,其中,所述脚本文件为按照上述第一方面所述的脚本生成方法得到的脚本文件;
获取模块702,用于获取所述脚本文件中的操作指令;
发送模块703,用于将所述操作指令发送至所述第二测试设备,以对所述第二测试设备进行与第一测试设备相同的远程操作。
可选的,如图8所示,获取模块702包括:
第一获取单元7021,用于获取所述脚本文件中的操作指令所针对的目标操作控件;
第二获取单元7022,用于获取所述目标操作控件在所述第二测试设备中的目标位置;
确定单元7023,用于将所述目标位置确定为所述操作指令的操作位置;
发送模块703用于将所述操作指令的操作位置发送至所述第二测试设备。
可选的,所述脚本文件中记录有第一测试设备的界面图像分辨率;
发送模块703还用于将所述脚本文件中记录的所述第一测试设备的界面图像分辨率发送至所述第二测试设备,以使所述第二测试设备向所述控制设备发送分辨率与所述界面图像分辨率相同的界面图像。
远程操作装置700能够实现图2所示的方法实施例中控制设备实现的各个过程,为避免重复,这里不再赘述。本发明实施例的远程操作装置700在对第二测试设备进行远程操作的过程中,只需通过导入并运行对第一测试设备进行远程操作中生成的脚本文件,获取所述脚本文件中的操作指令,并将所述操作指令发送至所述第二测试设备,便可实现对所述第二测试设备进行与第一测试设备相同的远程操作,而无需用户手动操作,从而可提高操作效率。
本发明实施例还提供一种脚本生成系统,包括控制设备和测试设备,所述控制设备与所述测试设备建立通信连接,其中,
所述测试设备用于向所述控制设备发送所述测试设备的界面图像;
所述控制设备用于接收所述测试设备发送的所述测试设备的界面图像;将所述界面图像显示在与所述控制设备连接的屏幕上;记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述测试设备进行远程操作;根据所述操作记录生成脚本文件,并存储所述脚本文件。
需说明的是,本发明实施例中所述控制设备和所述测试设备作为与图1所示的实施例中分别对应的控制设备和第一测试设备的实施方式,其具体实施方式可参见图1所示的实施例中的相关描述,为避免重复,此处不再赘述。
本实施例中,测试设备可以在与控制设备建立通信连接的情况下,向控制设备发送其界面图像,使得控制设备端的用户可以通过该界面图像对测试设备进行远程操控,并通过将用户每次的操作指令进行记录,生成脚本文件,使得后续可以直接利用该脚本文件对其他设备进行相同操作或测试,而无需用户手动操作,进而可提高操作效率。
本发明实施例还提供一种控制设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现图1所示的脚本生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种控制设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现图2所示的远程操作方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述图1所示的脚本生成方法实施例的各个过程,或者该计算机程序被处理器执行时实现上述图2所示的远程操作方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (11)
1.一种脚本生成方法,应用于控制设备,其特征在于,所述控制设备与第一测试设备建立通信连接,所述方法包括:
接收所述第一测试设备发送的所述第一测试设备的界面图像;
将所述界面图像显示在与所述控制设备连接的屏幕上;
记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第一测试设备进行远程操作;
根据所述操作记录生成脚本文件,并存储所述脚本文件。
2.根据权利要求1所述的方法,其特征在于,所述操作记录包括所述操作指令对应的操作位置、操作控件名称和操作事件中的至少一项。
3.根据权利要求1所述的方法,其特征在于,所述记录作用于所述界面图像所在显示区域上的操作指令之前,所述方法还包括:
获取所述界面图像中的控件元素信息;
基于所述控件元素信息,确定各控件在所述界面图像所在显示区域中的有效区域;
在所述屏幕上的操作指针位于目标控件的有效区域时,触发所述目标控件的有效区域显示预设标记。
4.一种远程操作方法,应用于控制设备,其特征在于,所述控制设备与第二测试设备建立通信连接,所述方法包括:
导入并运行脚本文件,其中,所述脚本文件为按照权利要求1至3中任一项所述的方法得到的脚本文件;
获取所述脚本文件中的操作指令;
将所述操作指令发送至所述第二测试设备,以对所述第二测试设备进行与第一测试设备相同的远程操作。
5.根据权利要求4所述的方法,其特征在于,所述获取所述脚本文件中的操作指令,包括:
获取所述脚本文件中的操作指令所针对的目标操作控件;
获取所述目标操作控件在所述第二测试设备中的目标位置;
将所述目标位置确定为所述操作指令的操作位置;
所述将所述操作指令发送至所述第二测试设备,包括:
将所述操作指令的操作位置发送至所述第二测试设备。
6.根据权利要求4所述的方法,其特征在于,所述脚本文件中记录有第一测试设备的界面图像分辨率;
所述将所述操作指令发送至所述第二测试设备,还包括:
将所述脚本文件中记录的所述第一测试设备的界面图像分辨率发送至所述第二测试设备,以使所述第二测试设备向所述控制设备发送分辨率与所述界面图像分辨率相同的界面图像。
7.一种脚本生成装置,设置于控制设备,其特征在于,所述控制设备与第一测试设备建立通信连接,所述脚本生成装置包括:
接收模块,用于接收所述第一测试设备发送的所述第一测试设备的界面图像;
第一显示模块,用于将所述界面图像显示在与所述控制设备连接的屏幕上;
记录模块,用于记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述第一测试设备进行远程操作;
生成与存储模块,用于根据所述操作记录生成脚本文件,并存储所述脚本文件。
8.一种远程操作装置,设置于控制设备,其特征在于,所述控制设备与第二测试设备建立通信连接,所述远程操作装置包括:
运行模块,用于导入并运行脚本文件,其中,所述脚本文件为按照权利要求1至3中任一项所述的方法得到的脚本文件;
获取模块,用于获取所述脚本文件中的操作指令;
发送模块,用于将所述操作指令发送至所述第二测试设备,以对所述第二测试设备进行与第一测试设备相同的远程操作。
9.一种脚本生成系统,其特征在于,包括控制设备和测试设备,所述控制设备与所述测试设备建立通信连接,其中,
所述测试设备用于向所述控制设备发送所述测试设备的界面图像;
所述控制设备用于接收所述测试设备发送的所述测试设备的界面图像;将所述界面图像显示在与所述控制设备连接的屏幕上;记录作用于所述界面图像所在显示区域上的操作指令,得到操作记录,其中,所述操作指令用于对所述测试设备进行远程操作;根据所述操作记录生成脚本文件,并存储所述脚本文件。
10.一种控制设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的脚本生成方法中的步骤;或者,所述计算机程序被所述处理器执行时实现如权利要求4至6中任一项所述的远程操作方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的脚本生成方法中的步骤;或者,所述计算机程序被处理器执行时实现如权利要求4至6中任一项所述的远程操作方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179962.7A CN112866312A (zh) | 2019-11-27 | 2019-11-27 | 一种脚本生成方法、远程操作方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179962.7A CN112866312A (zh) | 2019-11-27 | 2019-11-27 | 一种脚本生成方法、远程操作方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112866312A true CN112866312A (zh) | 2021-05-28 |
Family
ID=75985418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911179962.7A Pending CN112866312A (zh) | 2019-11-27 | 2019-11-27 | 一种脚本生成方法、远程操作方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866312A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282502A (zh) * | 2021-06-04 | 2021-08-20 | 青岛海尔科技有限公司 | 脚本生成方法、装置、存储介质及电子装置 |
CN113590092A (zh) * | 2021-07-15 | 2021-11-02 | 远光软件股份有限公司 | 一种脚本生成方法、生成装置和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103928038A (zh) * | 2014-04-29 | 2014-07-16 | 广东欧珀移动通信有限公司 | 电子设备的测试录制及回放方法 |
CN105224456A (zh) * | 2015-09-29 | 2016-01-06 | 北京奇虎科技有限公司 | 一种测试脚本生成方法、装置和系统 |
CN106708528A (zh) * | 2016-12-28 | 2017-05-24 | 北京奇虎科技有限公司 | 脚本生成方法及装置 |
CN110134600A (zh) * | 2019-05-09 | 2019-08-16 | 北京小米移动软件有限公司 | 测试脚本录制方法、装置及存储介质 |
-
2019
- 2019-11-27 CN CN201911179962.7A patent/CN112866312A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103928038A (zh) * | 2014-04-29 | 2014-07-16 | 广东欧珀移动通信有限公司 | 电子设备的测试录制及回放方法 |
CN105224456A (zh) * | 2015-09-29 | 2016-01-06 | 北京奇虎科技有限公司 | 一种测试脚本生成方法、装置和系统 |
CN106708528A (zh) * | 2016-12-28 | 2017-05-24 | 北京奇虎科技有限公司 | 脚本生成方法及装置 |
CN110134600A (zh) * | 2019-05-09 | 2019-08-16 | 北京小米移动软件有限公司 | 测试脚本录制方法、装置及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282502A (zh) * | 2021-06-04 | 2021-08-20 | 青岛海尔科技有限公司 | 脚本生成方法、装置、存储介质及电子装置 |
CN113590092A (zh) * | 2021-07-15 | 2021-11-02 | 远光软件股份有限公司 | 一种脚本生成方法、生成装置和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9342237B2 (en) | Automated testing of gesture-based applications | |
CN108763086B (zh) | 基于远程真机的脚本录制方法、终端及计算机可读存储介质 | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
CN105866575B (zh) | 一种车载显示器综合测试装置及测试方法 | |
CN106326104B (zh) | 终端控件测试方法及装置 | |
CN107688529B (zh) | 组件调试方法和装置 | |
CN107577622B (zh) | 后端接口模拟方法、设备及存储介质 | |
CN108874268B (zh) | 用户行为数据的采集方法及装置 | |
CN104199725A (zh) | 一种服务接口数据模拟方法和系统 | |
CN110442519B (zh) | 一种崩溃文件处理方法、装置、电子设备及存储介质 | |
CN104461903A (zh) | 基于浏览器的测试客户端的方法和装置 | |
CN108039173B (zh) | 语音信息输入方法、移动终端、系统以及可读存储介质 | |
WO2018121582A1 (zh) | 脚本生成方法及装置 | |
CN112416775B (zh) | 基于人工智能的软件自动化测试方法、装置及电子设备 | |
CN112866312A (zh) | 一种脚本生成方法、远程操作方法及相关设备 | |
CN112882953A (zh) | 基于安卓调试桥的应用程序的自动演示方法和系统 | |
CN112115051A (zh) | 应用的页面遍历探测方法、装置、设备及可读存储介质 | |
CN110806965A (zh) | 自动测试方法、装置、设备和介质 | |
CN107844486B (zh) | 一种用于客户端的分析网页问题的方法和系统 | |
CN111666199B (zh) | 在智能终端上执行的调试方法以及软件调试器 | |
CN112911283B (zh) | 智能电视测试方法及装置 | |
CN113821433A (zh) | 云手机应用程序的测试方法、装置、设备、介质及产品 | |
US20110107311A1 (en) | Communicating with Locally Networked Device from Remotely Hosted Browser Based Tool | |
CN106484604B (zh) | 应用测试控制方法及装置 | |
CN108897689B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210528 |