CN112860572A - 移动终端的云测试方法、装置、***、介质、电子设备 - Google Patents

移动终端的云测试方法、装置、***、介质、电子设备 Download PDF

Info

Publication number
CN112860572A
CN112860572A CN202110269315.6A CN202110269315A CN112860572A CN 112860572 A CN112860572 A CN 112860572A CN 202110269315 A CN202110269315 A CN 202110269315A CN 112860572 A CN112860572 A CN 112860572A
Authority
CN
China
Prior art keywords
mobile terminal
target
display interface
instruction
popup
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.)
Granted
Application number
CN202110269315.6A
Other languages
English (en)
Other versions
CN112860572B (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.)
Hangzhou Netease Shuzhifan Technology Co ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110269315.6A priority Critical patent/CN112860572B/zh
Publication of CN112860572A publication Critical patent/CN112860572A/zh
Application granted granted Critical
Publication of CN112860572B publication Critical patent/CN112860572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种移动终端的云测试方法、装置、***、介质、电子设备,涉及云测试技术领域,该方法包括:接收客户端发送的对移动终端的访问请求;响应于访问请求,基于预设的接口实时地获取移动终端的第一当前显示界面,并将第一当前显示界面发送至客户端,以在客户端上生成与第一当前显示界面对应的第二当前显示界面并进行展示;接收客户端发送的操作指令,并根据移动终端的操作***所属的***类别,对操作指令进行转换得到目标指令;基于预设的接口将目标指令发送至移动终端,以使得移动终端在第一当前显示界面中执行目标指令,实现对移动终端的云测试任务。本公开实现了通过同一种测试方案对具有两种不同类别***的移动终端进行云测试。

Description

移动终端的云测试方法、装置、***、介质、电子设备
技术领域
本公开的实施方式涉及云测试技术领域,更具体地,本公开的实施方式涉及一种移动终端的云测试方法、移动终端的云测试装置、移动终端的云测试***、计算机可读存储介质以及电子设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在一些现有的针对具有Android***的移动终端以及具有iOS***的移动终端的云测试(远程访问或者桌面控制)的方案中,其实分别通过两种不同的方法来实现的;并且,在具体的测试过程中,其所采用的交互方式以及集成方式也是不同的。
现有的技术方案不能实现通过同一种测试方案对具有两种不同类别***的移动终端进行云测试。
发明内容
但是,在一些技术中,无法通过同一种测试方案对具有两种不同类别***的移动终端进行云测试。为此,非常需要一种改进的移动终端的云测试方法,以实现通过同一种测试方案对具有两种不同类别***的移动终端进行云测试,进而提高测试效率。
在本上下文中,本公开的实施方式期望提供一种移动终端的云测试方法、移动终端的云测试装置、移动终端的云测试***、计算机可读存储介质以及电子设备。
根据本公开的一个方面,一种移动终端的云测试方法,配置于代理服务器,所述移动终端的云测试方法包括:
接收客户端发送的对移动终端的访问请求;
响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示;
接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的;
基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
在本公开的一种示例性实施例中,所述移动终端的云测试方法还包括:
接收所述移动终端在所述目标指令生效后上传的目标显示界面,并基于预设的图像识别算法提取所述目标显示界面中所包括的目标图像特征;
对所述目标图像特征的差异性进行分析,并根据差异性分析结果判断所述目标显示界面是否一致;
在确定所述目标显示界面不一致时,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例性实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,包括:
基于所述预设的图像识别算法提取置于所述目标显示界面的上层的弹窗,并对所述弹窗所属的包名进行识别;
根据包名识别结果确定所述弹窗的类别,并根据所述弹窗的类别确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例性实施例中,如果所述弹窗的类别为***弹窗,则确定引起所述目标显示界面的差异性的原因为:***弹窗置于所述目标显示界面的上层,导致无法在所述当前显示界面中执行所述目标指令;
如果所述弹窗的类别为应用程序弹窗,则引起所述目标显示界面的差异性的原因为应用程序弹窗上浮于所述目标显示界面,导致所述目标指令无法作用于所述当前显示界面。
在本公开的一种示例性实施例中,所述移动终端的云测试方法还包括:
根据与所述***弹窗对应的第一指令生成规则,生成与所述***弹窗对应的第一关闭指令;
将所述第一关闭指令发送至所述移动终端,以使所述移动终端执行所述第一关闭指令,以关闭所述***弹窗。
在本公开的一种示例性实施例中,所述移动终端的云测试方法还包括:
利用所述预设的图像识别算法对所述应用程序弹窗进行识别,得到所述应用程序的名称信息;
基于所述预设的接口在所述移动终端中匹配与所述名称信息对应的目标应用程序的权限;
根据所述目标应用程序的权限、所述应用程序弹窗中所显示的信息以及与所述应用程序弹窗对应的第二指令生成规则,生成与所述应用程序弹窗对应的第二关闭指令;
将所述第二关闭指令发送至所述移动终端,以使所述移动终端执行所述第二关闭指令,以关闭所述应用程序弹窗。
在本公开的一种示例性实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,还包括:
基于所述预设的图像识别算法提取所述第一当前显示界面的当前图像特征,并对所述当前图像特征以及目标图像特征进行比对;
根据所述当前图像特征以及目标图像特征的比对结果,确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例性实施例中,如果所述当前图像特征以及目标图像特征的比对结果相同,则确定引起所述目标显示界面的差异性的原因为:所述目标指令中所包括的指令坐标与所述移动终端的实际坐标不一致。
在本公开的一种示例性实施例中,所述移动终端的云测试方法还包括:
根据所述移动终端的显示界面的实际长度以及实际宽度,对所述指令坐标进行等比例移位或者换行,并根据移位或者换行后的指令坐标对所述目标指令进行更新。
在本公开的一种示例性实施例中,所述***类别包括安卓操作***或者iOS操作***;
其中,根据所述客户端的操作***所属的***类别,对所述操作指令进行转换得到目标指令,包括:
对所述操作指令进行解析,得到所述操作指令中所包括的所述手势操作,以及所述手势操作的原始横坐标以及原始纵坐标;
根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令;或者
根据所述iOS操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有iOS操作***的移动终端所需的第二目标指令。
在本公开的一种示例性实施例中,根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令,包括:
提取所述手势操作中所包括的第一个字符信息作为所述手势操作的目标名称信息;
根据预设的坐标转换原则对所述原始横坐标以及原始纵坐标进行转换,得到目标横坐标以及目标纵坐标;
对所述目标名称信息、与所述目标名称信息对应的目标横坐标以及目标纵坐标进行拼接,得到与每一个手势操作对应的第一子目标指令,并根据所述第一子目标指令生成所述第一目标指令。
根据本公开的一个方面,提供一种移动终端的云测试装置,配置于代理服务器,所述移动终端的云测试装置包括:
请求接收模块,用于接收客户端发送的对移动终端的访问请求;
画面获取模块,用于响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示;
指令转换模块,用于接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的;
云测试模块,用于基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
在本公开的一种示例性实施例中,所述移动终端的云测试装置还包括:
第一特征提取模块,用于接收所述移动终端在所述目标指令生效后上传的目标显示界面,并基于预设的图像识别算法提取所述目标显示界面中所包括的目标图像特征;
第一分析模块,用于对所述目标图像特征的差异性进行分析,并根据差异性分析结果判断所述目标显示界面是否一致;
差异性原因确定模块,用于在确定所述目标显示界面不一致时,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例性实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,包括:
基于所述预设的图像识别算法提取置于所述目标显示界面的上层的弹窗,并对所述弹窗所属的包名进行识别;
根据包名识别结果确定所述弹窗的类别,并根据所述弹窗的类别确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例性实施例中,如果所述弹窗的类别为***弹窗,则确定引起所述目标显示界面的差异性的原因为:***弹窗置于所述目标显示界面的上层,导致无法在所述当前显示界面中执行所述目标指令;
如果所述弹窗的类别为应用程序弹窗,则引起所述目标显示界面的差异性的原因为应用程序弹窗上浮于所述目标显示界面,导致所述目标指令无法作用于所述当前显示界面。
在本公开的一种示例性实施例中,所述移动终端的云测试装置还包括:
第一指令生成模块,用于根据与所述***弹窗对应的第一指令生成规则,生成与所述***弹窗对应的第一关闭指令;
第一指令发送模块,用于将所述第一关闭指令发送至所述移动终端,以使所述移动终端执行所述第一关闭指令,以关闭所述***弹窗。
在本公开的一种示例性实施例中,所述移动终端的云测试装置还包括:
弹窗识别模块,用于利用所述预设的图像识别算法对所述应用程序弹窗进行识别,得到所述应用程序的名称信息;
权限匹配模块,用于基于所述预设的接口在所述移动终端中匹配与所述名称信息对应的目标应用程序的权限;
第二指令生成模块,用于根据所述目标应用程序的权限、所述应用程序弹窗中所显示的信息以及与所述应用程序弹窗对应的第二指令生成规则,生成与所述应用程序弹窗对应的第二关闭指令;
第二指令发送模块,用于将所述第二关闭指令发送至所述移动终端,以使所述移动终端执行所述第二关闭指令,以关闭所述应用程序弹窗。
在本公开的一种示例性实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,还包括:
基于所述预设的图像识别算法提取所述第一当前显示界面的当前图像特征,并对所述当前图像特征以及目标图像特征进行比对;
根据所述当前图像特征以及目标图像特征的比对结果,确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例性实施例中,如果所述当前图像特征以及目标图像特征的比对结果相同,则确定引起所述目标显示界面的差异性的原因为:所述目标指令中所包括的指令坐标与所述移动终端的实际坐标不一致。
在本公开的一种示例性实施例中,所述移动终端的云测试装置还包括:
目标指令更新模块,用于根据所述移动终端的显示界面的实际长度以及实际宽度,对所述指令坐标进行等比例移位或者换行,并根据移位或者换行后的指令坐标对所述目标指令进行更新。
在本公开的一种示例性实施例中,所述***类别包括安卓操作***或者iOS操作***;
其中,根据所述客户端的操作***所属的***类别,对所述操作指令进行转换得到目标指令,包括:
对所述操作指令进行解析,得到所述操作指令中所包括的所述手势操作,以及所述手势操作的原始横坐标以及原始纵坐标;
根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令;或者
根据所述iOS操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有iOS操作***的移动终端所需的第二目标指令。
在本公开的一种示例性实施例中,根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令,包括:
提取所述手势操作中所包括的第一个字符信息作为所述手势操作的目标名称信息;
根据预设的坐标转换原则对所述原始横坐标以及原始纵坐标进行转换,得到目标横坐标以及目标纵坐标;
对所述目标名称信息、与所述目标名称信息对应的目标横坐标以及目标纵坐标进行拼接,得到与每一个手势操作对应的第一子目标指令,并根据所述第一子目标指令生成所述第一目标指令。
根据本公开的一个方面,提供一种移动终端的云测试***,包括:
客户端,用于生成在移动终端的访问请求,并将访问请求发送至待服务器;以及生成操作指令;
代理服务器,与所述客户端网络连接,用于实现上述任意一项所述的移动终端的云测试方法;
移动终端,基于预设的接口与所述代理服务器连接,用于在第一当前显示界面执行所述目标指令。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的移动终端的云测试方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的移动终端的云测试方法。
根据本公开实施方式的移动终端的云测试方法和移动终端的云测试装置,可以接收客户端发送的对移动终端的访问请求;然后响应于访问请求,基于预设的接口实时地获取移动终端的第一当前显示界面,并将第一当前显示界面发送至客户端,以在客户端上生成与第一当前显示界面对应的第二当前显示界面并进行展示;再接收客户端发送的操作指令,并根据移动终端的操作***所属的***类别,对操作指令进行转换得到目标指令;最后基于预设的接口将目标指令发送至移动终端,以使得移动终端在第一当前显示界面中执行目标指令,实现对移动终端的云测试任务,而无需分别通过不同的测试方案对具有不同***类别的移动终端进行云测试,从而显著地降低了需要部署不同的测试方案引起的时间成本,并且减少了对不同***类别的移动终端进行云测试需要对测试方案进行更换导致的测试效率较低的问题,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开示例实施例的一种移动终端的云测试方法的流程图;
图2示意性地示出了根据本公开示例实施例的一种移动终端的云测试***的框图;
图3示意性地示出了根据本公开示例实施例的另一种移动终端的云测试方法的流程图;
图4示意性地示出了根据本公开示例实施例的一种第二关闭指令的生成方法的流程图;
图5示意性地示出了根据本公开示例实施例的一种对代理服务器进行部署的方法流程图;
图6示意性地示出了根据本公开示例实施例的一种移动终端的第一显示界面的流程图;
图7示意性地示出了根据本公开示例实施例的另一种移动终端的云测试方法的流程图;
图8示意性地示出了根据本公开示例实施例的一种移动终端的云测试方法的应用场景示例图;
图9示意性地示出了根据本公开示例实施例的一种移动终端的云测试装置的框图;
图10示意性地示出了根据本公开示例实施例的一种用于对上述移动终端的云测试方法进行存储的计算机可读存储介质;
图11示意性地示出了根据本公开示例实施例的一种用于实现上述移动终端的云测试方法的电子设备。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种移动终端的云测试方法、装置、***、计算机可读存储介质以及电子设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本公开人发现,在一些对Android端进行远程操控(可以通过万维网或者局域网控制一台或者多台Android或者iOS设备,执行点击、滑动、拖拽以及其他手势操作)或者远程访问(可以通过万维网或者局域网,在本地程序界面或者网页页面浏览、操控远程手机的手机屏幕)的方案中,可以通过在Android手机里运行一个基于TCP/IP协议的服务,从外部网页或者应用程序通过网络、USB的方式去访问运行在手机里的服务,从而能建立连接。通过此连接,外部可以实时获取手机的画面,并且从外部发送手势操作(包含点击、滑动、拖拽等)到手机里的服务执行。
在一些对iOS端进行远程操控或者访问的方案中,可以基于开源的WebdriverAgent实现。其中,WebdriverAgent是一个运行于iOS设备中的服务,基于http协议,同样可以从外部网页或者应用程序通过网络、USB的方式去访问运行在手机里的服务,从而能建立连接。通过此链接,外部可以实时获取手机的画面,并且从外部发送手势操作(包含点击、滑动、拖拽等)到手机里运行的WebdriverAgent服务。
但是,上述所列举的方案中,针对Android以及iOS这两款***的远程访问、控制桌面的技术是不同的,交互方式、集成方式也是不同的。现有的技术方案并没有解决接入服务通用性的问题。
基于此,本公开示例实施例提供了一种移动终端的云测试方法,一方面,通过接收客户端发送的对移动终端的访问请求;然后响应于访问请求,基于预设的接口实时地获取移动终端的第一当前显示界面,并将第一当前显示界面发送至客户端,以在客户端上生成与第一当前显示界面对应的第二当前显示界面并进行展示;再接收客户端发送的操作指令,并根据移动终端的操作***所属的***类别,对操作指令进行转换得到目标指令;其中,操作指令是客户端响应于针对第二当前显示界面的手势操作而产生的;最后基于预设的接口将目标指令发送至移动终端,以使得移动终端在第一当前显示界面中执行目标指令,实现对移动终端的云测试任务;由于该移动终端的云测试方法可以运行于代理服务器端,且可以根据移动终端的操作***所属的***类别对操作执行进行转换,进而可以解决现有技术中无法通过同一种测试方案对不同***类别的移动终端进行云测试的问题,实现了对不同***类别的移动终端的统一测试,解决了接入服务通用性的问题;另一方面,本公开的示例实施例还能够根据移动终端的操作***所属的***类别,对操作指令进行转换得到目标指令;再基于预设的接口将目标指令发送至移动终端,以使得移动终端在第一当前显示界面中执行目标指令,实现对移动终端的云测试任务,从而简化了移动终端的云测试流程,提高了云测试的测试效率。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
示例性方法
本公开示例实施方式中首先提供了一种移动终端的云测试方法,该方法可以运行于代理服务器、服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该移动终端的云测试方法可以包括以下步骤:
步骤S110.接收客户端发送的对移动终端的访问请求;
步骤S120.响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示;
步骤S130.接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的;
步骤S140.基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
上述移动终端的云测试方法中,通过接收客户端发送的对移动终端的访问请求;然后响应于访问请求,基于预设的接口实时地获取移动终端的第一当前显示界面,并将第一当前显示界面发送至客户端,以在客户端上生成与第一当前显示界面对应的第二当前显示界面并进行展示;再接收客户端发送的操作指令,并根据移动终端的操作***所属的***类别,对操作指令进行转换得到目标指令;最后基于预设的接口将目标指令发送至移动终端,以使得移动终端在第一当前显示界面中执行目标指令,实现对移动终端的云测试任务,而无需分别通过不同的测试方案对具有不同***类别的移动终端进行云测试,从而显著地降低了需要部署不同的测试方案引起的时间成本,并且减少了对不同***类别的移动终端进行云测试需要对测试方案进行更换导致的测试效率较低的问题,为用户带来了更好的体验。
以下,将结合附图对本公开示例实施例移动终端的云测试方法进行解释以及说明。
首先,对Android端的基础服务以及iOS端的基础服务进行介绍。
一方面,Android端所支持的minicap和/或minitouch,是由openstf团队开发并开源的,其将minicap、minitouch部署都Android设备上并启动,分别启动服务,通讯协议为TCP协议。通过调用Android***底层的C语言接口,分别实现快速实截图Android设备画面,实时接收操控数据,并实时调用***接口执行以实现实时操控Android设备。
另一方面,iOS端所支持的WebdriverAgent,首先由Facebook开发并开源,将WebdriverAgent安装在iOS设备上并且启动,就会在手机上启动一个服务,通讯协议为http协议,通过这个服务,可以获取iOS手机的实时画面,也可以将操控数据发送给这个服务,WebdriverAgent接收并解析执行此条操控数据。
其次,对本公开的发明目的以及具体场景进行解释以及说明。
本文主要解决的问题为:完整的Android端和/或iOS端的远程控制,对于客户端(该客户端可以包含网页页面和/或应用程序)来说,不管与代理服务器所连接的移动终端的是具有Android***的移动终端,还是具有iOS***的移动终端,均可实现对移动终端的远程测试。具体理由为:通过本文所描述的方案,针对Android、iOS两端的基础服务,会设计和实现一个代理程序,集中管理两端服务,分别转换适用于Android端、iOS端的通讯数据协议。
进一步的,对本公开示例实施例的移动终端的云测试***进行解释以及说明。
参考图2所示,该移动终端的云测试***可以包括客户端210、代理服务器220以及移动终端230。其中:
客户端210可以用于生成在移动终端的访问请求,并将访问请求发送至待服务器;以及生成操作指令;代理服务220,与客户端通信连接,用于实现本公开示例实施例所记载的移动终端的云测试方法;移动终端230,基于预设的接口与所述代理服务器连接,用于在第一当前显示界面执行所述目标指令。
其中,该预设的接口可以为USB接口,其不仅可以实现移动终端与代理服务器的连接,代理服务器还可以通过该USB接口为移动终端供电,以使得移动终端可以长期处于待机状态;并且,该移动终端为多个具有不同***类别的移动终端,该***类别可以包括Android***、iOS***、Linux***或者鸿蒙***等等,本示例对此不做特殊限定。
Android、iOS端分别运行了各自的基础服务,Server端运行着代理程序,Client端运行的是网页页面或者其他应用程序;同时,Server端通过USB和Android、iOS端进行数据通讯,通过Server端运行的代理程序,可以同时兼容Android、iOS两端的基础服务的数据交互。
Client端通过TCP/IP协议访问Server端代理程序提供的服务,Client端通过Server端代理程序可以实时获取Android、iOS两端的实时画面。通过Server端的代理程序将Client端产生的手势操作数据发送给Android端和iOS端的基础服务,Server端代理程序在转发Client端的手势操作数据前,分别针对当前使用的手机操作***,转换数据格式,再将各个***能执行的手势操作数据发给移动终端执行。
其次,结合图2对步骤S110-步骤S140进行解释以及说明。
在步骤S110中,接收客户端发送的对移动终端的访问请求。
具体的,当需要对移动终端进行云测试时,可以通过客户端的网页页面或者应用程序生成访问请求,进而将该访问请求发送至代理服务器。
在步骤S120中,响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示。
具体的,当代理服务器接收到该访问请求以后,可以基于代理服务器与移动终端之间的USB接口(当然也可以是其他既可以提供电源也可以实现通信连接的接口,例如type-c接口,本示例对此不做特殊限制)实时地获取各移动终端的第一当前显示界面,再将该第一当前显示界面发送至客户端,当客户端接收到该第一当前显示界面以后,可以根据客户端自身所能支持的数据格式以及客户端所能显示的尺寸对该第一当前显示界面进行调整以后得到第二当前显示界面,并对其进行显示。
在步骤S130中,接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的。
具体的,用户可以根据第二当前显示界面中所包括的UI控件,输入相应的手势操作,该手势操作可以包括点击、滑动等等操作,也可以包括其他操作,本示例对此不做特殊限定;当客户端接收到该手势操作以后,可以根据该手势操作生成操作指令,并将该操作指令发送至代理服务器。
进一步的,当代理服务器接收到操作指令以后,为了可以使得该操作指令可以适用于不同***类别的移动终端,需要对该操作指令进行转换,此处以安卓操作***和/或iOS操作***为例,对具体的转换过程进行解释以及说明。具体的,根据所述客户端的操作***所属的***类别,对所述操作指令进行转换得到目标指令,可以包括:首先,对所述操作指令进行解析,得到所述操作指令中所包括的所述手势操作,以及所述手势操作的原始横坐标以及原始纵坐标;其次,根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令;或者根据所述iOS操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有iOS操作***的移动终端所需的第二目标指令。
其中,根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令,可以包括:首先,提取所述手势操作中所包括的第一个字符信息作为所述手势操作的目标名称信息;其次,根据预设的坐标转换原则对所述原始横坐标以及原始纵坐标进行转换,得到目标横坐标以及目标纵坐标;最后,对所述目标名称信息、与所述目标名称信息对应的目标横坐标以及目标纵坐标进行拼接,得到与每一个手势操作对应的第一子目标指令,并根据所述第一子目标指令生成所述第一目标指令。
进一步的,以客户端(client)的操作指令中包括点击以及滑动数据为例,对具体的转换过程进行进一步的解释以及说明。
client产生的点击、滑动操作数据,如下展示:
{
"type":"down",
"x":0.5862068965517241,
"y":0.5826681870011402,
"rotation":0
}、
{
"type":"move",
"x":0.5862068965517241,
"y":0.5826681870011402,
"rotation":0
}、
{
"type":"up",
"x":0.5862068965517241,
"y":0.5826681870011402
}
其中,在上述示例中,type字段中所包括的动作的类型有down、move、up,分别代表按下、移动、抬起三种动作。
x字段:动作产生的横坐标对于手机宽度的比例。
y字段:动作产生的纵坐标对于手机高度的比例。
当代理服务器代理Android客户端时,发送给Android***执行操作的数据如下展示:
d 500 1000\n
m 500 1000\n
u\n
其中,每行第一个字母,分别代表down(按下)、move(移动)、up(抬起),后面两个数字,分别代表动作的横纵坐标,在这里是已经根据手机尺寸按比例进行换算后的实际坐标值。
当代理服务器代理iOS客户端时,发送给iOS***执行的数据如下展示:
{
"actions":[
{
"options":{
"x":500,
"y":1000
},
"action":"press"
},
{
"options":{
"x":500,
"y":1000
},
"action":"moveTo"
},
{
"options":{
},
"action":"release"
}
]
}
其中,actions字段,表示所有动作的集合;并且,集合中的动作是有序的,每一个动作的action字段,表示动作的类型,所有press(按下)、moveTo(移动)、release(抬起)三种类型,options字段表示动作的坐标。
在步骤S140中,基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
具体的,当目标指令转换完成后,可以基于USB接口将该目标指令发送至移动终端,进而使得移动终端可以在第一当前显示界面中执行按下、移动或者抬起等指令,进而实现云测试任务。
进一步的,为了避免由于移动终端的第一当前显示界面中存在弹窗或者目标指令中所包括的手势操作的坐标位置与移动终端的坐标位置不符,进而导致的云测试失败的问题,本公开示例实施例还提供了另一种移动终端的云测试方法。参考图3所示,该移动终端的云测试方法还可以包括以下步骤:
步骤S310,接收所述移动终端在所述目标指令生效后上传的目标显示界面,并基于预设的图像识别算法提取所述目标显示界面中所包括的目标图像特征。
具体的,该图像识别算法可以包括faster R-CNN、SIFT算法以及SURF算法等等,本示例对此不做特殊限定。其中,在对目标图像特征的提取过程中,可以基于各算法的基本原理实现,此处不再赘述。
步骤S320,对所述目标图像特征的差异性进行分析,并根据差异性分析结果判断所述目标显示界面是否一致。
具体的,当得到目标图像特征后,可以对多个不同移动终端(可以是相同***类别的移动终端,也可以是不同***类别的移动终端,本示例对此不做特殊限定)在同一时刻上传的目标显示界面的目标图像特征的差异性进行分析,进而根据差异性分析结果判断各目标显示界面是否一致;也就是说,可以根据差异性分析结果确定各目标指令是否执行成功。此处需要补充说明的是,为了可以便于对差异性进行分析,可以默认执行成功以后的目标显示界面是相同的,因此如果目标图像特征完全相同,则不存在差异,则目标显示界面一致;如果目标图像特征不同,则存在差异,目标显示界面不一致。
步骤S330,在确定所述目标显示界面不一致时,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因。
在本示例实施例中,首先,基于所述预设的图像识别算法提取置于所述目标显示界面的上层的弹窗,并对所述弹窗所属的包名进行识别;其次,根据包名识别结果确定所述弹窗的类别,并根据所述弹窗的类别确定引起所述目标显示界面的差异性的原因。其中,如果所述弹窗的类别为***弹窗,则确定引起所述目标显示界面的差异性的原因为:***弹窗置于所述目标显示界面的上层,导致无法在所述当前显示界面中执行所述目标指令;如果所述弹窗的类别为应用程序弹窗,则引起所述目标显示界面的差异性的原因为应用程序弹窗上浮于所述目标显示界面,导致所述目标指令无法作用于所述当前显示界面。
举例而言,上述***弹窗可以包括各移动终端自身携带的***程序所推送的弹窗,例如软件更新弹窗、电量提示弹窗等等;应用程序弹窗可以包括各移动终端中所具有的应用程序所推送的弹窗,例如微信弹窗、XX云音乐弹窗等等,本示例对此不做特殊限定。
进一步的,当弹窗为***弹窗时,为了可以实现对移动终端的云测试,该移动终端的云测试方法还包括:根据与所述***弹窗对应的第一指令生成规则,生成与所述***弹窗对应的第一关闭指令;将所述第一关闭指令发送至所述移动终端,以使所述移动终端执行所述第一关闭指令,以关闭所述***弹窗。举例来说,当***弹窗为电量提示弹窗,则可以根据在实际操作过程中所需要执行的操作,生成一第一关闭指令对该电量提示弹窗进行关闭。
更进一步的,当弹窗为应用程序弹窗时,为了可以实现对移动终端的云测试,参考图4所示,该移动终端的云测试方法还可以包括以下步骤:
步骤S410,利用所述预设的图像识别算法对所述应用程序弹窗进行识别,得到所述应用程序的名称信息;
步骤S420,基于所述预设的接口在所述移动终端中匹配与所述名称信息对应的目标应用程序的权限;
步骤S430,根据所述目标应用程序的权限、所述应用程序弹窗中所显示的信息以及与所述应用程序弹窗对应的第二指令生成规则,生成与所述应用程序弹窗对应的第二关闭指令;
步骤S440,将所述第二关闭指令发送至所述移动终端,以使所述移动终端执行所述第二关闭指令,以关闭所述应用程序弹窗。
以下,对步骤S410-步骤S440进行解释以及说明。具体的,首先,可以基于图像识别算法识别出应用程序弹窗中所包括文字,进而得到对应的名称信息(例如该名称信息可以是王者荣耀,该弹窗中所包括的具体内容为:XX队友升级),当得到名称信息后,即可基于上述USB接口从移动终端中匹配与王者荣耀对应的权限;进而根据匹配到的权限以及具体的内容生成对应的第二关闭指令,以关闭应用程序弹窗。通过该方法,不仅可以避免由于存在弹窗导致的云测试失败的问题,进一步的提高了云测试的成功率。
在本示例的另一实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,还包括:首先,基于所述预设的图像识别算法提取所述第一当前显示界面的当前图像特征,并对所述当前图像特征以及目标图像特征进行比对;其次,根据所述当前图像特征以及目标图像特征的比对结果,确定引起所述目标显示界面的差异性的原因。
其中,如果所述当前图像特征以及目标图像特征的比对结果相同,则确定引起所述目标显示界面的差异性的原因为:所述目标指令中所包括的指令坐标与所述移动终端的实际坐标不一致。
进一步的,为了可以完成对移动终端的云测试,该移动终端的云测试方法还包括:根据所述移动终端的显示界面的实际长度以及实际宽度,对所述指令坐标进行等比例移位或者换行,并根据移位或者换行后的指令坐标对所述目标指令进行更新。
以下,结合图5-图7对本公开示例实施例的移动终端的云测试方法进行进一步的解释以及说明。
首先,在对移动终端进行云测试之前,首先需要对代理服务器以及移动终端进行准备工作。参考图5所示,服务准备阶段具体可以包括以下步骤:
步骤S510,启动代理服务器;其中,代理服务器(Server)的代理程序,可以在移动端启动基础服务,用于给Server端代理程序访问并调用,实时下载手机图像,实时上传手势操作。
步骤S520,通过代理服务器启动移动终端的基础服务;其中,基础服务具体可以参考图6所示;
步骤S530,判断移动终端的基础服务是否启动成功;如果是,则完成准备工作;如果否,则跳转至步骤S520。
其次,当服务准备阶段完成后,即可实现对移动终端的云测试。参考图7所示,具体的测试过程可以包括以下步骤:
步骤S710,客户端打开客户端网页或者应用程序,选取需要进行云测试的移动终端,并接入代理服务器的代理程序;
步骤S720,代理服务器接收客户端发送的访问请求,并根据访问请求确定移动终端的***类别;
步骤S730,代理服务器从移动终端获取第一当前显示界面,并将第一当前显示界面发送至客户端;
步骤S740,客户端根据用户的手势操作生成操作指令并将操作指令发送至代理服务器;
步骤S750,代理服务器根据移动终端的***类别对操作指令进行转换得到目标指令,并将目标指令发送至移动终端,完成云测试。
本公开提供的一种移动终端的云测试方法,将Android远程桌面访问,iOS远程桌面访问,这两个不同的移动端远程桌面访问的技术统一进行服务管理、API接入、通讯数据格式。该方案可以统一管理Android、iOS基础服务资源,在一台服务器上,可以同时托管Android端、iOS端的多台手机,带来的效果,具体可以参考图8所示。
进一步的,在一台Server上,可以同时管理多台Android端、多台iOS端的设备,Client端使用网页页面、客户端程序通过访问Server端的服务,可以使用任意一台Android、iOS设备的远程桌面服务;其中,远程终面服务可以包括使用远程手机的网页截图、查看手机的实时画面等等;并且,网页画面区域点击、滑动,都会形成操作数据,最终发送到移动设备服务上执行。
本公开示例实施例所提供的移动终端的云测试方法,多用于公司内员工管理移动端设备,统一部署在机房,工作人员想要使用进行开发和测试工作,可以通过网页,访问并操控在机房的手机完成相应的开发和测试工作。这种方案带来以下优势:一方面,集中管理移动设备,防止丢失;另一方面,提高使用效率,想要使用移动设备,就打开网页进行使用;再一方面,可以扩展多个功能,比如安装应用、日志功能,给开发和测试工作带来很多便利。
示例性装置
在介绍了本公开示例性实施方式的移动终端的云测试方法之后,接下来,参考图9对本公开示例性实施方式的移动终端的云测试装置进行解释以及说明。
参考图9所示,该移动终端的云测试装置配置于代理服务器,所述移动终端的云测试装置可以请求接收模块910、画面获取模块920、指令转换模块930以及云测试模块940。其中:
请求接收模块910可以用于接收客户端发送的对移动终端的访问请求;
画面获取模块920可以用于响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示;
指令转换模块930可以用于接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的;
云测试模块940可以用于基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
在本公开的一种示例实施例中,所述移动终端的云测试装置还包括:
第一特征提取模块,用于接收所述移动终端在所述目标指令生效后上传的目标显示界面,并基于预设的图像识别算法提取所述目标显示界面中所包括的目标图像特征;
第一分析模块,用于对所述目标图像特征的差异性进行分析,并根据差异性分析结果判断所述目标显示界面是否一致;
差异性原因确定模块,用于在确定所述目标显示界面不一致时,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,包括:
基于所述预设的图像识别算法提取置于所述目标显示界面的上层的弹窗,并对所述弹窗所属的包名进行识别;
根据包名识别结果确定所述弹窗的类别,并根据所述弹窗的类别确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例实施例中,如果所述弹窗的类别为***弹窗,则确定引起所述目标显示界面的差异性的原因为:***弹窗置于所述目标显示界面的上层,导致无法在所述当前显示界面中执行所述目标指令;
如果所述弹窗的类别为应用程序弹窗,则引起所述目标显示界面的差异性的原因为应用程序弹窗上浮于所述目标显示界面,导致所述目标指令无法作用于所述当前显示界面。
在本公开的一种示例实施例中,所述移动终端的云测试装置还包括:
第一指令生成模块,用于根据与所述***弹窗对应的第一指令生成规则,生成与所述***弹窗对应的第一关闭指令;
第一指令发送模块,用于将所述第一关闭指令发送至所述移动终端,以使所述移动终端执行所述第一关闭指令,以关闭所述***弹窗。
在本公开的一种示例实施例中,所述移动终端的云测试装置还包括:
弹窗识别模块,用于利用所述预设的图像识别算法对所述应用程序弹窗进行识别,得到所述应用程序的名称信息;
权限匹配模块,用于基于所述预设的接口在所述移动终端中匹配与所述名称信息对应的目标应用程序的权限;
第二指令生成模块,用于根据所述目标应用程序的权限、所述应用程序弹窗中所显示的信息以及与所述应用程序弹窗对应的第二指令生成规则,生成与所述应用程序弹窗对应的第二关闭指令;
第二指令发送模块,用于将所述第二关闭指令发送至所述移动终端,以使所述移动终端执行所述第二关闭指令,以关闭所述应用程序弹窗。
在本公开的一种示例实施例中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,还包括:
基于所述预设的图像识别算法提取所述第一当前显示界面的当前图像特征,并对所述当前图像特征以及目标图像特征进行比对;
根据所述当前图像特征以及目标图像特征的比对结果,确定引起所述目标显示界面的差异性的原因。
在本公开的一种示例实施例中,如果所述当前图像特征以及目标图像特征的比对结果相同,则确定引起所述目标显示界面的差异性的原因为:所述目标指令中所包括的指令坐标与所述移动终端的实际坐标不一致。
在本公开的一种示例实施例中,所述移动终端的云测试装置还包括:
目标指令更新模块,用于根据所述移动终端的显示界面的实际长度以及实际宽度,对所述指令坐标进行等比例移位或者换行,并根据移位或者换行后的指令坐标对所述目标指令进行更新。
在本公开的一种示例实施例中,所述***类别包括安卓操作***或者iOS操作***;
其中,根据所述客户端的操作***所属的***类别,对所述操作指令进行转换得到目标指令,包括:
对所述操作指令进行解析,得到所述操作指令中所包括的所述手势操作,以及所述手势操作的原始横坐标以及原始纵坐标;
根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令;或者
根据所述iOS操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有iOS操作***的移动终端所需的第二目标指令。
在本公开的一种示例实施例中,根据所述安卓操作***所需的数据格式对所述手势操作、所述原始横坐标以及原始纵坐标进行转换,得到具有安卓操作***的移动终端所需的第一目标指令,包括:
提取所述手势操作中所包括的第一个字符信息作为所述手势操作的目标名称信息;
根据预设的坐标转换原则对所述原始横坐标以及原始纵坐标进行转换,得到目标横坐标以及目标纵坐标;
对所述目标名称信息、与所述目标名称信息对应的目标横坐标以及目标纵坐标进行拼接,得到与每一个手势操作对应的第一子目标指令,并根据所述第一子目标指令生成所述第一目标指令。
示例性存储介质
在介绍了本公开示例性实施方式的移动终端的云测试方法和移动终端的云测试装置之后,接下来,参考图10对本公开示例性实施方式的存储介质进行说明。
参考图10所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性电子设备
在介绍了本公开示例性实施方式的存储介质之后,接下来,参考图11对本公开示例性实施方式的电子设备进行说明。
图11显示的电子设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同***组件(包括存储单元1120和处理单元1110)的总线1130、显示单元1140。
其中,所述存储单元1120存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1110可以执行如图1中所示的步骤S110-S140。
存储单元1120可以包括易失性存储单元,例如随机存取存储单元(RAM)11201和/或高速缓存存储单元11202,还可以进一步包括只读存储单元(ROM)11203。
存储单元1120还可以包括具有一组(至少一个)程序模块11205的程序/实用工具11204,这样的程序模块11205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1130可以包括数据总线、地址总线和控制总线。
电子设备1100也可以通过输入/输出(I/O)接口1150,与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了弹窗处理装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种移动终端的云测试方法,配置于代理服务器,所述移动终端的云测试方法包括:
接收客户端发送的对移动终端的访问请求;
响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示;
接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的;
基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
2.根据权利要求1所述的移动终端的云测试方法,其中,所述移动终端的云测试方法还包括:
接收所述移动终端在所述目标指令生效后上传的目标显示界面,并基于预设的图像识别算法提取所述目标显示界面中所包括的目标图像特征;
对所述目标图像特征的差异性进行分析,并根据差异性分析结果判断所述目标显示界面是否一致;
在确定所述目标显示界面不一致时,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因。
3.根据权利要求2所述的移动终端的云测试方法,其中,根据所述目标图像特征确定引起所述目标显示界面的差异性的原因,包括:
基于所述预设的图像识别算法提取置于所述目标显示界面的上层的弹窗,并对所述弹窗所属的包名进行识别;
根据包名识别结果确定所述弹窗的类别,并根据所述弹窗的类别确定引起所述目标显示界面的差异性的原因。
4.根据权利要求3所述的移动终端的云测试方法,其中,如果所述弹窗的类别为***弹窗,则确定引起所述目标显示界面的差异性的原因为:***弹窗置于所述目标显示界面的上层,导致无法在所述当前显示界面中执行所述目标指令;
如果所述弹窗的类别为应用程序弹窗,则引起所述目标显示界面的差异性的原因为应用程序弹窗上浮于所述目标显示界面,导致所述目标指令无法作用于所述当前显示界面。
5.根据权利要求4所述的移动终端的云测试方法,其中,所述移动终端的云测试方法还包括:
根据与所述***弹窗对应的第一指令生成规则,生成与所述***弹窗对应的第一关闭指令;
将所述第一关闭指令发送至所述移动终端,以使所述移动终端执行所述第一关闭指令,以关闭所述***弹窗。
6.根据权利要求4所述的移动终端的云测试方法,其中,所述移动终端的云测试方法还包括:
利用所述预设的图像识别算法对所述应用程序弹窗进行识别,得到所述应用程序的名称信息;
基于所述预设的接口在所述移动终端中匹配与所述名称信息对应的目标应用程序的权限;
根据所述目标应用程序的权限、所述应用程序弹窗中所显示的信息以及与所述应用程序弹窗对应的第二指令生成规则,生成与所述应用程序弹窗对应的第二关闭指令;
将所述第二关闭指令发送至所述移动终端,以使所述移动终端执行所述第二关闭指令,以关闭所述应用程序弹窗。
7.一种移动终端的云测试装置,配置于代理服务器,所述移动终端的云测试装置包括:
请求接收模块,用于接收客户端发送的对移动终端的访问请求;
画面获取模块,用于响应于所述访问请求,基于预设的接口实时地获取所述移动终端的第一当前显示界面,并将所述第一当前显示界面发送至所述客户端,以在所述客户端上生成与所述第一当前显示界面对应的第二当前显示界面并进行展示;
指令转换模块,用于接收所述客户端发送的操作指令,并根据所述移动终端的操作***所属的***类别,对所述操作指令进行转换得到目标指令;其中,所述操作指令是所述客户端响应于针对所述第二当前显示界面的手势操作而产生的;
云测试模块,用于基于所述预设的接口将所述目标指令发送至所述移动终端,以使得所述移动终端在所述第一当前显示界面中执行所述目标指令,实现对所述移动终端的云测试任务。
8.一种移动终端的云测试***,包括:
客户端,用于生成在移动终端的访问请求,并将访问请求发送至待服务器;以及生成操作指令;
代理服务器,与所述客户端网络连接,用于实现权利要求1-6任一项所述的移动终端的云测试方法;
移动终端,基于预设的接口与所述代理服务器连接,用于在第一当前显示界面执行所述目标指令。
9.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的移动终端的云测试方法。
10.一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6任一项所述的移动终端的云测试方法。
CN202110269315.6A 2021-03-12 2021-03-12 移动终端的云测试方法、装置、***、介质、电子设备 Active CN112860572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110269315.6A CN112860572B (zh) 2021-03-12 2021-03-12 移动终端的云测试方法、装置、***、介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110269315.6A CN112860572B (zh) 2021-03-12 2021-03-12 移动终端的云测试方法、装置、***、介质、电子设备

Publications (2)

Publication Number Publication Date
CN112860572A true CN112860572A (zh) 2021-05-28
CN112860572B CN112860572B (zh) 2024-03-22

Family

ID=75994243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110269315.6A Active CN112860572B (zh) 2021-03-12 2021-03-12 移动终端的云测试方法、装置、***、介质、电子设备

Country Status (1)

Country Link
CN (1) CN112860572B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113518146A (zh) * 2021-09-14 2021-10-19 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN114466401A (zh) * 2022-03-02 2022-05-10 北京新氧科技有限公司 图像传输方法和电子设备
CN114490419A (zh) * 2022-02-16 2022-05-13 湖南智擎科技有限公司 异质架构的跨云测试方法、***和计算机设备
CN115514750A (zh) * 2021-06-21 2022-12-23 北京字节跳动网络技术有限公司 电子设备远程控制方法、服务器、***、介质和设备
CN116112573A (zh) * 2022-11-18 2023-05-12 中国工商银行股份有限公司 终端界面转换方法、装置、设备、存储介质和程序产品

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110265020A1 (en) * 2010-04-23 2011-10-27 Datacert, Inc. Generation and testing of graphical user interface for matter management workflow with collaboration
CN105740153A (zh) * 2016-02-29 2016-07-06 网易(杭州)网络有限公司 云测试方法及装置
CN107395844A (zh) * 2017-06-26 2017-11-24 网易有道信息技术(北京)有限公司 测试设备、方法、***、介质、装置和计算设备
CN107885661A (zh) * 2017-11-08 2018-04-06 百度在线网络技术(北京)有限公司 移动应用的终端兼容性测试方法和***、设备、介质
CN108804302A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种远程测试方法、***及相关设备
CN109684218A (zh) * 2018-12-26 2019-04-26 世纪龙信息网络有限责任公司 基于云真机的测试***及测试方法
CN110032507A (zh) * 2018-12-25 2019-07-19 阿里巴巴集团控股有限公司 应用程序测试方法、装置、***、电子设备及存储介质
CN110636286A (zh) * 2019-10-25 2019-12-31 深圳创维-Rgb电子有限公司 显示设备的远程测试方法、终端及存储介质
CN110795022A (zh) * 2019-11-08 2020-02-14 北京字节跳动网络技术有限公司 终端测试方法、***及存储介质
CN111949517A (zh) * 2020-07-23 2020-11-17 上海硬通网络科技有限公司 远程真机测试方法、装置及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110265020A1 (en) * 2010-04-23 2011-10-27 Datacert, Inc. Generation and testing of graphical user interface for matter management workflow with collaboration
CN105740153A (zh) * 2016-02-29 2016-07-06 网易(杭州)网络有限公司 云测试方法及装置
CN108804302A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种远程测试方法、***及相关设备
CN107395844A (zh) * 2017-06-26 2017-11-24 网易有道信息技术(北京)有限公司 测试设备、方法、***、介质、装置和计算设备
CN107885661A (zh) * 2017-11-08 2018-04-06 百度在线网络技术(北京)有限公司 移动应用的终端兼容性测试方法和***、设备、介质
CN110032507A (zh) * 2018-12-25 2019-07-19 阿里巴巴集团控股有限公司 应用程序测试方法、装置、***、电子设备及存储介质
CN109684218A (zh) * 2018-12-26 2019-04-26 世纪龙信息网络有限责任公司 基于云真机的测试***及测试方法
CN110636286A (zh) * 2019-10-25 2019-12-31 深圳创维-Rgb电子有限公司 显示设备的远程测试方法、终端及存储介质
CN110795022A (zh) * 2019-11-08 2020-02-14 北京字节跳动网络技术有限公司 终端测试方法、***及存储介质
CN111949517A (zh) * 2020-07-23 2020-11-17 上海硬通网络科技有限公司 远程真机测试方法、装置及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BERK GULMEZOGLU 等: "Cache-Based Application Detection in the Cloud Using Machine Learning", 《PROCEEDINGS OF THE 2017 ACM ON ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》, pages 288 *
李星宇: "智能移动终端的远程真机测试——云服务", 《电子制作》, no. 24, pages 61 - 62 *
鲁程: "基于云平台的移动互联网自动化测试***的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 9, pages 139 - 17 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514750A (zh) * 2021-06-21 2022-12-23 北京字节跳动网络技术有限公司 电子设备远程控制方法、服务器、***、介质和设备
CN113518146A (zh) * 2021-09-14 2021-10-19 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN113518146B (zh) * 2021-09-14 2021-12-03 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN114490419A (zh) * 2022-02-16 2022-05-13 湖南智擎科技有限公司 异质架构的跨云测试方法、***和计算机设备
CN114490419B (zh) * 2022-02-16 2024-02-13 湖南智擎科技有限公司 异质架构的跨云测试方法、***和计算机设备
CN114466401A (zh) * 2022-03-02 2022-05-10 北京新氧科技有限公司 图像传输方法和电子设备
CN114466401B (zh) * 2022-03-02 2024-03-22 北京新氧科技有限公司 图像传输方法和电子设备
CN116112573A (zh) * 2022-11-18 2023-05-12 中国工商银行股份有限公司 终端界面转换方法、装置、设备、存储介质和程序产品
CN116112573B (zh) * 2022-11-18 2024-06-11 中国工商银行股份有限公司 终端界面转换方法、装置、设备、存储介质和程序产品

Also Published As

Publication number Publication date
CN112860572B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
CN112860572B (zh) 移动终端的云测试方法、装置、***、介质、电子设备
CN108804302B (zh) 一种远程测试方法、***及相关设备
US9430364B1 (en) Systems, methods, and apparatuses for testing mobile device applications
JP6092381B2 (ja) ウェブクライアントを介したリモートアプリケーションへのアクセスを提供する方法、システム、及びコンピュータ読取可能記憶媒体
US8880660B2 (en) Information-processing device, communication system, computer readable medium, and information-processing method
JP2013512512A (ja) 軽量クライアントを使用してネットワーク上で仮想化コンピューティングサービスとインターフェースするための方法
CN103729425A (zh) 操作响应方法、客户端、浏览器及***
CN105812421A (zh) 一种基于Android平台的远程控制方法及装置
US20230214243A1 (en) One-machine multi-control method, apparatus, system and electronic device
CN112600631B (zh) 一种WiFi信号稳定性自动化测试方法及其相关组件
CN111444095A (zh) 移动设备的测试平台***和测试方法
CN113709243B (zh) 设备远程控制方法及装置、电子设备和存储介质
CN111708595A (zh) 一种基于可视化界面的远程交互协作方法及装置
CN111782382A (zh) 任务处理方法及装置、存储介质及电子设备
JP4293169B2 (ja) ネットワーク機器制御システム
CN104717175A (zh) 虚拟桌面的处理方法和***
CN114259734A (zh) 游戏试玩方法和装置、计算机可读存储介质、电子设备
CN113641439A (zh) 文本识别和展示方法、装置、电子设备和介质
CN113722045A (zh) 集群的应用部署方法和装置
CN111752190A (zh) 设备控制方法、装置及***、存储介质、电子设备
CN112099888A (zh) 画面显示方法、***和零终端
CN112215587B (zh) 多设备自动化执行业务流程交互任务的方法、装置和***
KR101553539B1 (ko) 동적 링크 제공 방법 및 이를 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN114466401B (zh) 图像传输方法和电子设备
CN117201219A (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
TA01 Transfer of patent application right

Effective date of registration: 20211011

Address after: 310052 Room 301, building 4, No. 599, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: HANGZHOU LANGHE TECHNOLOGY Ltd.

Applicant after: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

Address before: 310052 floor 7, building 4, No. 599, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Applicant after: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU LANGHE TECHNOLOGY Ltd.

Applicant before: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231116

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Applicant before: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

GR01 Patent grant
GR01 Patent grant