CN109684218A - 基于云真机的测试***及测试方法 - Google Patents
基于云真机的测试***及测试方法 Download PDFInfo
- Publication number
- CN109684218A CN109684218A CN201811598046.2A CN201811598046A CN109684218A CN 109684218 A CN109684218 A CN 109684218A CN 201811598046 A CN201811598046 A CN 201811598046A CN 109684218 A CN109684218 A CN 109684218A
- Authority
- CN
- China
- Prior art keywords
- server
- screen picture
- client
- target cloud
- prototype
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及基于云真机的测试***及测试方法,所述测试***包括web客户端、APP客户端以及服务器,web客户端、APP客户端分别与服务器通信连接;服务器还用于连接多个云真机;App客户端用于接收手势操作指令,作为第一测试指令并发送给所述服务器;服务器用于根据第一测试指令得到App客户端选择的云真机,作为目标云真机,并获取目标云真机的屏幕图像并向所述App客户端以及所述web客户端发送相应的屏幕图像;使得App客户端通过其UI界面显示目标云真机的屏幕图像;同时使得web客户端通过网页显示所述目标云真机的屏幕图像。本发明实施例解决了现有远程测试环境单一的问题,有利于提高测试效率。
Description
技术领域
本发明涉及云控平台技术领域,特别是涉及基于云真机的测试***及测试方法。
背景技术
智能终端应用软件测试是智能终端软件开发生命周期中的一项关键任务,主要任务是测试未发布的被测试软件在不同测试机型设备上的兼容性和测试效率等。
为了方便智能终端应用软件测试,行业内采用云真机控制平台进行测试。云真机控制平台包括测试终端和远程控制终端,测试终端连接一个或多个云真机。其中,远程控制终端通过网络连接测试终端,用于远程控制与测试终端连接的云真机,同时接收从测试终端转发的反馈信息;测试终端将远程控制终端发送的控制指令转发至相应的云真机,由云真机执行相应操作,或者,测试终端解析远程控制终端发送的控制指令,解析出远程控制终端进行远程控制的相应云真机及具体控制命令,并根据具体控制命令控制相应云真机执行相应操作。
在实现本发明的过程中,发明人发现现有技术中存在如下问题,目前云真机控制平台,测试人员主要是通过在远程控制终端进行鼠标、键盘等操作,从而实现对远程的云真机的操控,存在测试操作效率较低的问题。
发明内容
基于此,有必要针对现有方式测试操作效率较低的问题,提供一种基于云真机的测试***及测试方法。
一方面,本发明实施例提供一种基于云真机的测试***,包括web客户端、APP客户端以及服务器,所述web客户端、APP客户端分别与所述服务器通信连接;所述服务器还用于连接多个云真机;
所述App客户端,用于通过接收针对目标云真机中设定软件的操作指令,作为第一测试指令,将所述第一测试指令发送给所述服务器;所述目标云真机为所述App客户端选择的用于软件测试的云真机;
所述服务器用于根据所述第一测试指令,控制所述目标云真机中的所述设定软件执行所述一测试指令;以及获取所述目标云真机执行所述第一测试指令之后的屏幕图像,作为新的屏幕图像,将所述新的屏幕图像分别发送给所述App客户端以及所述web客户端;
所述App客户端用于根据所述新的屏幕图像,更新通过其UI界面显示的所述目标云真机的屏幕图像;
所述web客户端还用于根据所述新的屏幕图像,更新通过网页显示的所述目标云真机的屏幕图像。
在其中一个实施例中,所述App客户端,还用于接收用于选择目标云真机的手势操作指令,作为第二测试指令,将所述第二测试指令发送给所述服务器;
所述服务器用于根据所述第二测试指令得到所述App客户端选择的目标云真机,获取所述目标云真机的屏幕图像,向所述App客户端以及所述web客户端发送所述屏幕图像;
所述App客户端还用于接收所述屏幕图像,通过其UI界面显示所述目标云真机的所述屏幕图像;
所述web客户端用于接收所述屏幕图像,通过网页显示所述目标云真机所述屏幕图像。
在其中一个实施例中,所述App客户端,还用于接收用于在目标云真机安装所述设定软件的操作指令,作为第三测试指令,将所述第三测试指令发送给所述服务器;
所述服务器用于根据所述第三测试指令,控制所述目标云真机中安装所述设定软件;以及获取所述目标云真机安装所述设定软件之后的屏幕图像,发送给所述App客户端和所述web客户端;
所述App客户端用于根据所述目标云真机安装所述设定软件之后的屏幕图像,更新通过其UI界面显示的所述目标云真机的屏幕图像;
所述web客户端还用于根据所述目标云真机安装所述设定软件之后的屏幕图像,更新通过网页显示的所述目标云真机的屏幕图像。
在其中一个实施例中,还包括与所述服务器连接的接入终端,所述服务器通过所述接入终端与多个云真机通信连接。
在其中一个实施例中,所述App客户端为安装在安卓终端中的客户端。
在其中一个实施例中,所述服务器和所述App客户端之间的连接为双全工websocket通信连接。
在其中一个实施例中,所述App客户端通过OkHttpClient与所述服务器建立双全工websocket通信连接;
所述App客户端通过继承socketListener的ImageListener类来监听websocket传来的字节流,以此接收所述服务器发送的字节流,所述字节流为第一屏幕图像或者第二屏幕图像对应的字节流。
在其中一个实施例中,所述App客户端还用于每接收一个字节流就将其转换成Bitmap位图,通过ImageView对所述Bitmap位图进行显示。
在其中一个实施例中,所述App客户端还用于,获取所述App客户端与所述服务器当前的网络质量,根据该网络质量调整通过所述UI界面显示的所述屏幕图像的画质;
所述web客户端还用于,获取所述web客户端与所述服务器当前的网络质量,根据所述网络质量调整通过网页显示的所述屏幕图像的画质。
另一方面,本发明实施例提供一种基于云真机的测试方法,包括:
显示目标云真机的屏幕图像;
接收针对目标云真机中设定软件的操作指令,作为第一测试指令;所述目标云真机为通过App客户端选择的用于软件测试的云真机;
将所述第一测试指令发送给对应的服务器;所述第一测试指令用于触发所述服务器控制与其连接的所述目标云真机中的所述设定软件执行所述一测试指令,并获取所述目标云真机执行所述第一测试指令之后的屏幕图像,作为新的屏幕图像,将所述新的屏幕图像分别发送给所述App客户端以及所述web客户端;
接收所述服务器发送的所述新的屏幕图像,根据所述新的屏幕图像,更新通过所述App客户端的UI界面显示的所述目标云真机的屏幕图像。
上述技术方案中的一个技术方案具有如下优点或有益效果:通过App客户端检测用户的测试操作,并向服务器发送相应的测试指令,通过服务器远程操控对应的云真机,方便用户进行基于云真机的远程软件测试,由于App客户端用户可以采用常规的手势操作远程操控云真机,有利于提高测试效率;另一方面,还克服了现有远程测试环境单一,只能通过测试网页对进行云端的远程控制的问题,并且服务器向web客户端、App客户端分别发送远程云真机的屏幕图像,使得测试人员对测试效果的监控更为全面。
附图说明
图1为一个实施例中基于云真机的测试***的结构图;
图2为一实施例的App客户端的远程测试界面的示意图;
图3为另一个实施例中基于云真机的测试***的结构图;
图4为一个实施例中基于云真机的测试方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1为一个实施例中基于云真机的测试***的结构图,如图1所示,该基于云真机的测试***包括:web客户端、App客户端以及服务器,所述web客户端、App客户端分别与所述服务器通信连接;所述服务器还用于连接多个云真机。
其中,web客户端包括通过网页与服务器实现交互的客户端,例如电脑中的浏览器,用户基于web客户端的操作可以是常规的网页操作,例如通过鼠标、键盘等输入设备实现的网页操作。App客户端包括安装在智能终端中的应用程序,所述智能终端包括智能手机、平板、便携式可穿戴设备等,例如预先安装在安卓手机中的App,用户基于App客户端的操作可以是常规的智能终端操作,例如滑动、触摸点击等手势操作。其中,服务器可以通过独立的服务器实现,也可以通过多个服务器组成的服务器集群来实现。
其中,云真机指的是用于测试的远程终端设备,例如待测试对象是一款应用软件,测试目标是检测该应用软件在不同厂商、不同型号的智能终端中的运行情况,在这种情况下,服务器连接的多个云真机可以是位于不同地理位置的多个不同厂商、不同型号的智能终端。
基于上述的基于云真机的测试***结构,***中各部分在实现远程测试功能时所起的作用包括:
所述App客户端,用于接收针对目标云真机中设定软件的操作指令,作为第一测试指令,将所述第一测试指令发送给所述服务器;所述目标云真机为所述App客户端选择的用于软件测试的云真机。所述设定软件可以为需要测试的应用软件。
所述服务器用于根据所述第一测试指令,控制所述目标云真机中的所述设定软件执行所述一测试指令;以及获取所述目标云真机执行所述第一测试指令之后的屏幕图像,作为新的屏幕图像,将所述新的屏幕图像分别发送给所述App客户端以及所述web客户端。
相应地,所述App客户端,还用于接收所述新的屏幕图像,根据所述新的屏幕图像,更新通过其UI界面显示的所述目标云真机的屏幕图像;所述web客户端还用于接收所述新的屏幕图像,根据所述新的屏幕图像,更新通过网页显示的所述目标云真机的屏幕图像。
在通过所述App客户端接收针对目标云真机中设定软件的操作指令之前,还需要通过App客户端从多个云真机中选出一个作为目标云真机,以参与当前的软件测试,并且获取该目标云真机的屏幕图像,用户根据App客户端显示的目标云真机的屏幕图像,可进行任何常规的云真机操作,例如安装软件、卸载软件、更改主题等操作。
为了使得App客户端显示出目标云真机的屏幕图像,根据本发明一实施例,App客户端,还用于接收用于选择目标云真机的手势操作指令,作为第二测试指令,将所述第二测试指令发送给所述服务器。
所述服务器,还用于根据所述第二测试指令得到所述App客户端选择的目标云真机,获取所述目标云真机的屏幕图像,向所述App客户端以及所述web客户端发送所述屏幕图像。
相应地,所述App客户端,还用于接收所述屏幕图像,通过其UI界面显示所述目标云真机的所述屏幕图像;所述web客户端,还用于接收所述屏幕图像,通过网页显示所述目标云真机所述屏幕图像。
在其中一个实施例中,还包括预先控制云真机安装设定软件的步骤,具体地,所述App客户端还可以接收用于在目标云真机安装所述设定软件的操作指令,作为第三测试指令,将所述第三测试指令发送给所述服务器。服务器还可以根据所述第三测试指令,控制所述目标云真机中安装所述设定软件;以及获取所述目标云真机安装所述设定软件之后的屏幕图像,发送给所述App客户端和所述web客户端。App客户端还可以根据所述目标云真机安装所述设定软件之后的屏幕图像,更新通过其UI界面显示的所述目标云真机的屏幕图像;所述web客户端还可以根据所述目标云真机安装所述设定软件之后的屏幕图像,更新通过网页显示的所述目标云真机的屏幕图像。
需要说明的是,当用户通过App客户端和web客户端均登陆了服务器的情况下,用户通过App客户端进行软件操作,能够实现App客户端和web客户端的显示画面同步的效果。
本发明实施例中,服务器基于App客户端的测试指令,首次获取的目标云真机的屏幕图像,可以是目标云真机参与测试之前的屏幕图像,例如为主页图像。进一步地,通过web客户端和/或App客户端显示目标云真机的屏幕图像之后,在App客户端,用户可以像正常软件操作一样,通过web客户端和/或App客户端操作待测软件在目标云真机中的执行情况,以App客户端为例,用户基于App客户端每执行一次操作,App客户端向服务器发送一个对应的测试指令,并根据该测试指令远程控制相应的目标云真机上的软件执行同样的操作,并获取目标云真机执行对应操作后的界面图像,发送给App客户端,App客户端根据最新接收到的界面图像,更新本地显示的目标云真机的屏幕图像。
图2为一实施例的App客户端的远程测试界面的示意图,其中待测试对象是一款应用软件,由图2可知,与服务器连接的多个云真机是多个不同厂商、不同型号的智能手机。在该服务器端记录了已经连接的多个云真机的设备信息,用户可以通过web客户端和App客户端登陆该服务器,查看该服务器端连接的多个云真机的设备信息,然后在web客户端或者App客户端进行应用软件的安装或者卸载的测试操作,web客户端或者App客户端向服务器发送对应的测试指令,通过服务器远程控制相应的云真机安装或者卸载该应用软件;或者通过web客户端或者App客户端使用该应用软件,web客户端或者App客户端向服务器发送对应的测试指令,通过服务器远程控制相应的云真机中该应用软件执行同样的操作,并返回执行相应操作后云真机的界面图像给web客户端或者App客户端。由此测试该应用软件在远程云真机中运行是否正常,实现该应用软件的远程真机测试。
通过上述的基于云真机的测试***结构,用户不仅可以通过web客户端查看该服务器端连接的多个云真机的设备信息,并在本地显示所选云真机的屏幕图像,基于该屏幕图像进行应用软件的远程测试操作;还可以通过App客户端查看该服务器端连接的多个云真机的设备信息,以及在手机等智能终端显示所选云真机的屏幕图像,进而基于该屏幕图像以及手机等智能终端的屏幕操作,实现对应用软件在选定云真机的测试操作;因此能够克服了现有测试环境单一,只能通过测试网页对进行云端的远程控制的问题,并且通过APP端的手势操作,还有利于提高应用软件的测试时间和效率;并且因为服务器分别向web客户端、App客户端分别发送远程云真机的屏幕图像,还可以使得测试人员对测试效果的监控更为全面,尤其方便多个测试人员对测试结果的观察。
图3为另一个实施例中基于云真机的测试***的结构图,在该基于云真机的测试***中,在上述的***结构基础上,还包括与服务器连接的接入终端,所述服务器通过所述接入终端与多个云真机通信连接。
根据本发明一实施例,基于图3所示的基于云真机的测试***,服务器还可以用于,将所述第一测试指令/所述第二测试指令发送给所述接入终端,由所述接入终端转发给所述目标云真机;以及,通过所述接入终端获取所述目标云真机的屏幕图像。
通过接入终端实现服务器与多个云真机的通信连接和数据转发,有利于***扩展,例如增加或者更换需要与服务器连接云真机,此外,还可以保证不同类型的云真机与服务器之间的兼容性。
根据本发明一实施例,上述实施例中的App客户端,可以为适用于安卓终端的客户端。需要说明的是,该App客户端的安装与安卓终端的其他应用程序类似,因此能够兼容基于安卓***各种智能终端,例如安卓手机或者安卓平板等智能终端。
根据本发明一实施例,服务器和所述App客户端之间的连接为双全工websocket通信连接。例如,App客户端可以通过OkHttpClient与服务器建立双全工websocket通信连接,通过该websocket通信连接,App客户端可以有效接收服务器发送的目标云真机的屏幕图像的数据。具体接收过程可以如下:
所述App客户端通过继承socketListener的ImageListener类来监听websocket传来的字节流,以此接收所述服务器发送的字节流,所述字节流为第一屏幕图像或者第二屏幕图像对应的字节流。此外,App客户端可以每接收一个字节流就将其转换成Bitmap位图,通过ImageView对所述Bitmap位图进行显示,由此实现接收服务器发送的目标云真机的屏幕图像,并通过App客户端的UI界面显示出来。
通过上述的通信连接已经图像收发方式,可以保证通过云真机进行软件测试时的测试效率,避免出现测试卡顿的现象。
在一个场景中,用户通过智能手机中安装的App客户端,对待测应用软件进行测试时,该App客户端通过发送测试指令给服务器,进而控制远端的手机(即与服务器连接的云真机),实现过程中,App客户端利用消息队列,向服务器发送事件消息,服务器收到对应的消息,会调用相应的方法去操作相应的远程真机,具体过程可以包括:
1)App客户端监听用户在App客户端UI界面上的滑动、手势、点击等各种手势操作事件;
2)初始化消息队列。
3)取已选定的手机的channel,创建连接。
4)解析手势操作事件并转化成响应的测试指令。
5)将测试指令wire传输到服务器,服务器通过websocket模块解析wire消息事件。
wire是使用java语言实现的工具类,里面封装了和服务器通信的消息事件,比如手势点击、滑动、触控等屏幕事件,用户占用和释放设备等设备信息,android adb shell命令等。
6)服务器端接收到wire消息事件后,服务器端通过websocket模块,将对应的wire消息事件发送给对应的手机,以此控制远程手机实现测试响应。
在一些实施例中,上述步骤6)的实现可参考开源框架minitouch的原理,minitouch是国外基于Android NDK开发的针对手机控制一个js开源框架,minitouch提供了一个socket接口,用来处理在安卓终端上的多点触摸事件以及手势。
上述步骤5)和6)中,通过wire和adb的配合使用,既能充分利用wire在执行大量操作时,数据传输效率高得特点,以及adb在少量操作时,数据传输效率高的特点。
另一方面,web客户端远程测试操作也可以利用消息队列实现,web客户端向服务器发送事件消息,服务器收到对应的消息,会调用相应的方法去操作远程真机,具体过程可以包括:
1)web客户端接收服务器发送的选定手机传输的屏幕图像,经过画质调整后,显示在web客户端;
2)web客户端监听用户在web客户端上的各种鼠标操作事件;
3)初始化消息队列;
4)取已选定的手机的channel,创建连接;
5)解析鼠标操作事件并转化成响应的测试指令;
6)将测试指令传输到服务器,通过服务器将测试指令发至对应的远端手机,接收远端手机返回的屏幕图像,实现待测软件在该远端手机中的测试。
根据本发明一实施例,App客户端还用于,获取所述App客户端与所述服务器当前的网络质量,根据该网络质量调整通过所述UI界面显示的屏幕图像的画质;web客户端还用于,获取所述web客户端与所述服务器当前的网络质量,根据所述网络质量调整通过网页显示的屏幕图像的画质。
基于该实施例,App客户端可以基于其与服务器的网络连接情况,自适应的调节App客户端显示的屏幕图像的画质;此外,web客户端可基于其与服务器的网络连接情况,自适应的调节web客户端显示的屏幕图像的画质。
例如:App客户端在通过ImageView对所述Bitmap位图进行显示的过程中,ImageView会根据自适应不同智能终端的屏幕分辨率,结合当前的网络情况,对接收到的屏幕图像进行画质切换,例如可以在高清、标清、流畅的三种画质之间自适应切换,来达到不同智能终端上友好显示的效果。其中,调整图片和压缩比实验对比数据如表1,表2。
表1图片压缩比与图片尺寸
表2帧率与图片压缩比产生的实际流量
帧率 | 图片压缩比 | 实际流量 |
60 | 100% | 4.02M/S |
60 | 80% | 2.74M/S |
60 | 50% | 2.41M/S |
30 | 80% | 1.43M/S |
30 | 50% | 1.22M/S |
30 | 20% | 1.10M/S |
15 | 50% | 0.63M/S |
15 | 20% | 0.55M/S |
15 | 10% | 0.52M/S |
根据本发明另一实施例,App客户端还用于,若接收到第一画质调整指令,根据所述第一画质调整指令调整通过所述UI界面显示的屏幕图像的画质;web客户端还用于,若接收到第二画质调整指令,根据所述第二画质调整指令调整通过网页显示的屏幕图像的画质。
基于该实施例,用户可以主动切换通过App客户端显示的云真机的屏幕图像的画质;以及主动切换通过web客户端显示的云真机的屏幕图像的画质。
上述实施例的远程测试的方法带来的有益效果包括:通过实现App客户端的云真机,实现对不同客户端的支持,增加了测试场景(web端和App端的融合使用),可以让测试人员随时随地的进行应用软件的真机测试,提供更好的用户体验,降低了测试的成本,提高了测试效率。
图4为一实施例中基于云真机的测试方法的流程图,以该方法应用于上述的App客户端为例进行说明,包括以下步骤:
S401,App客户端UI界面显示目标云真机的屏幕图像,接收针对目标云真机中设定软件的操作指令,作为第一测试指令;所述目标云真机为通过App客户端选择的与所述服务器通信连接的云真机。
S402,将所述第一测试指令发送给对应的服务器;所述第一测试指令用于触发所述服务器控制与其连接的所述目标云真机中的所述设定软件执行所述一测试指令,并获取所述目标云真机执行所述第一测试指令之后的屏幕图像,作为新的屏幕图像,将所述新的屏幕图像分别发送给所述App客户端以及所述web客户端。
S403,接收所述服务器发送的所述新的屏幕图像,根据所述新的屏幕图像,更新通过所述App客户端的UI界面显示的所述目标云真机的屏幕图像。
根据本发明一实施例,在步骤S401,App客户端接收针对目标云真机中设定软件的操作指令之前,还包括步骤:
所述App客户端接收用于选择目标云真机的手势操作指令,作为第二测试指令,将所述第二测试指令发送给所述服务器;所述第二测试指令用于触发服务器获得所述App客户端选择的目标云真机,获取所述目标云真机的屏幕图像,并向所述App客户端以及所述web客户端发送所述屏幕图像;
所述App客户端接收所述服务器发送的所述屏幕图像,通过其UI界面显示所述目标云真机的所述屏幕图像。
由此用户可像真机操作一样,实现对目标云真机的各种操作,包括软件安装、卸载、运行等操作。
应该理解的是,以上各步骤是站在App客户端的角度进行描述的,具体的测试过程和数据传输可参考上述的基于云真机的测试***的实施例中的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
在一个实施例中,提供了一种智能终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收针对目标云真机中设定软件的操作指令,作为第一测试指令;所述目标云真机为通过App客户端选择的用于软件测试的云真机;
将所述第一测试指令发送给对应的服务器;所述第一测试指令用于触发所述服务器控制与其连接的所述目标云真机中的所述设定软件执行所述一测试指令,并获取所述目标云真机执行所述第一测试指令之后的屏幕图像,将所述屏幕图像分别发送给所述App客户端以及所述web客户端;
接收所述服务器发送的所述屏幕图像,并通过所述App客户端的UI界面显示所述屏幕图像。
应该理解的是,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
本文实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在本文中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于云真机的测试***,其特征在于,包括web客户端、APP客户端以及服务器,所述web客户端、APP客户端分别与所述服务器通信连接;所述服务器还用于连接多个云真机;
所述App客户端用于通过其UI界面显示目标云真机的屏幕图像,接收针对所述目标云真机中设定软件的操作指令,作为第一测试指令,将所述第一测试指令发送给所述服务器;
所述服务器用于根据所述第一测试指令,控制所述目标云真机中的所述设定软件执行所述第一测试指令;以及获取所述目标云真机执行所述第一测试指令之后的屏幕图像,作为新的屏幕图像,将所述新的屏幕图像分别发送给所述App客户端和所述web客户端;
所述App客户端用于根据所述新的屏幕图像,更新通过其UI界面显示的所述目标云真机的屏幕图像;
所述web客户端还用于根据所述新的屏幕图像,更新通过网页显示的所述目标云真机的屏幕图像。
2.根据权利要求1所述的***,其特征在于,
所述App客户端,还用于接收用于选择目标云真机的操作指令,作为第二测试指令,将所述第二测试指令发送给所述服务器;
所述服务器用于根据所述第二测试指令,得到所述App客户端选择的目标云真机,获取所述目标云真机的屏幕图像,向所述App客户端以及所述web客户端发送所述屏幕图像;
所述App客户端通过其UI界面显示所述目标云真机的所述屏幕图像;
所述web客户端通过网页显示所述目标云真机所述屏幕图像。
3.根据权利要求2所述的***,其特征在于,
所述App客户端,还用于接收用于在目标云真机安装所述设定软件的操作指令,作为第三测试指令,将所述第三测试指令发送给所述服务器;
所述服务器用于根据所述第三测试指令,控制所述目标云真机中安装所述设定软件;以及获取所述目标云真机安装所述设定软件之后的屏幕图像,发送给所述App客户端和所述web客户端;
所述App客户端用于根据所述目标云真机安装所述设定软件之后的屏幕图像,更新通过其UI界面显示的所述目标云真机的屏幕图像;
所述web客户端还用于根据所述目标云真机安装所述设定软件之后的屏幕图像,更新通过网页显示的所述目标云真机的屏幕图像。
4.根据权利要求1所述的***,其特征在于,还包括与所述服务器连接的接入终端,所述服务器通过所述接入终端与多个云真机通信连接。
5.根据权利要求1至4任一所述的***,其特征在于,所述App客户端为安装在安卓终端中的客户端。
6.根据权利要求1至4任一所述的***,其特征在于,所述服务器和所述App客户端之间的连接为双全工websocket通信连接。
7.根据权利要求6所述的***,其特征在于,所述App客户端通过OkHttpClient与所述服务器建立双全工websocket通信连接;
所述App客户端通过继承socketListener的ImageListener类来监听websocket传来的字节流,以此接收所述服务器发送的字节流,所述字节流为第一屏幕图像或者第二屏幕图像对应的字节流。
8.根据权利要求7所述的***,其特征在于,所述App客户端还用于每接收一个字节流就将其转换成Bitmap位图,通过ImageView对所述Bitmap位图进行显示。
9.根据权利要求2所述的***,其特征在于,所述App客户端还用于,获取所述App客户端与所述服务器当前的网络质量,根据该网络质量调整通过所述UI界面显示的屏幕图像的画质;
所述web客户端还用于,获取所述web客户端与所述服务器当前的网络质量,根据所述网络质量调整通过网页显示的屏幕图像的画质。
10.一种基于云真机的测试方法,其特征在于,包括:,
显示目标云真机的屏幕图像;
接收针对所述目标云真机中设定软件的操作指令,作为第一测试指令;所述目标云真机为通过App客户端选择的与所述服务器通信连接的云真机;
将所述第一测试指令发送给对应的服务器;所述第一测试指令用于触发所述服务器控制所述目标云真机中的所述设定软件执行所述一测试指令,并获取所述目标云真机中的所述设定软件执行所述第一测试指令之后的屏幕图像,作为新的屏幕图像,将所述新的屏幕图像分别发送给所述App客户端以及所述web客户端;
接收所述服务器发送的所述新的屏幕图像,根据所述新的屏幕图像,更新通过所述App客户端的UI界面显示的所述目标云真机的屏幕图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811598046.2A CN109684218A (zh) | 2018-12-26 | 2018-12-26 | 基于云真机的测试***及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811598046.2A CN109684218A (zh) | 2018-12-26 | 2018-12-26 | 基于云真机的测试***及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684218A true CN109684218A (zh) | 2019-04-26 |
Family
ID=66188410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811598046.2A Pending CN109684218A (zh) | 2018-12-26 | 2018-12-26 | 基于云真机的测试***及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684218A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294386A (zh) * | 2020-01-13 | 2020-06-16 | 北京淳中科技股份有限公司 | 服务器通信方法、装置和电子设备 |
CN111698333A (zh) * | 2020-06-24 | 2020-09-22 | 上海泽众软件科技有限公司 | 远程控制方法、服务器和*** |
CN111866160A (zh) * | 2020-07-28 | 2020-10-30 | 网易(杭州)网络有限公司 | 多机控制方法、装置、设备及存储介质 |
CN112306857A (zh) * | 2020-02-24 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 用于测试应用的方法和装置 |
CN112416741A (zh) * | 2019-12-26 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 一种应用程序兼容性的测试方法及装置 |
CN112860572A (zh) * | 2021-03-12 | 2021-05-28 | 网易(杭州)网络有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
CN112994982A (zh) * | 2021-03-11 | 2021-06-18 | 苏州沁游网络科技有限公司 | 一种云真机的抓包控制方法、装置、***及存储介质 |
CN113094253A (zh) * | 2019-12-23 | 2021-07-09 | 华为机器有限公司 | 一种设备调测方法及装置 |
CN113138919A (zh) * | 2021-04-19 | 2021-07-20 | 广州掌动智能科技有限公司 | 多客户端测试***和方法 |
CN113204494A (zh) * | 2021-05-29 | 2021-08-03 | 长沙市到家悠享家政服务有限公司 | 终端远程测试平台及方法、电子设备及可读介质 |
CN113238944A (zh) * | 2021-05-17 | 2021-08-10 | 北京沃东天骏信息技术有限公司 | 一种测试方法、装置和*** |
CN114328272A (zh) * | 2022-03-02 | 2022-04-12 | 北京新氧科技有限公司 | 应用测试方法、装置、***和电子设备 |
CN114466401A (zh) * | 2022-03-02 | 2022-05-10 | 北京新氧科技有限公司 | 图像传输方法和电子设备 |
CN114884931A (zh) * | 2022-04-27 | 2022-08-09 | 京东科技控股股份有限公司 | 一种测试***及其搭建方法、装置、设备、介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927255A (zh) * | 2013-01-16 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 基于云测试***的软件测试方法、云测试***及其客户端 |
CN105975367A (zh) * | 2016-04-29 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 移动设备的测试方法和装置 |
US9497197B2 (en) * | 2014-05-20 | 2016-11-15 | Box, Inc. | Systems and methods for secure resource access and network communication |
CN108307021A (zh) * | 2018-01-18 | 2018-07-20 | 中国工商银行股份有限公司 | 移动终端的并行跟随测试设备、云真机及方法 |
CN108833963A (zh) * | 2018-05-31 | 2018-11-16 | 腾讯科技(上海)有限公司 | 显示界面画面的方法、计算机设备、可读存储介质和*** |
-
2018
- 2018-12-26 CN CN201811598046.2A patent/CN109684218A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927255A (zh) * | 2013-01-16 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 基于云测试***的软件测试方法、云测试***及其客户端 |
US9497197B2 (en) * | 2014-05-20 | 2016-11-15 | Box, Inc. | Systems and methods for secure resource access and network communication |
CN105975367A (zh) * | 2016-04-29 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 移动设备的测试方法和装置 |
CN108307021A (zh) * | 2018-01-18 | 2018-07-20 | 中国工商银行股份有限公司 | 移动终端的并行跟随测试设备、云真机及方法 |
CN108833963A (zh) * | 2018-05-31 | 2018-11-16 | 腾讯科技(上海)有限公司 | 显示界面画面的方法、计算机设备、可读存储介质和*** |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094253A (zh) * | 2019-12-23 | 2021-07-09 | 华为机器有限公司 | 一种设备调测方法及装置 |
CN112416741A (zh) * | 2019-12-26 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 一种应用程序兼容性的测试方法及装置 |
CN111294386A (zh) * | 2020-01-13 | 2020-06-16 | 北京淳中科技股份有限公司 | 服务器通信方法、装置和电子设备 |
CN112306857A (zh) * | 2020-02-24 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 用于测试应用的方法和装置 |
CN111698333A (zh) * | 2020-06-24 | 2020-09-22 | 上海泽众软件科技有限公司 | 远程控制方法、服务器和*** |
CN111866160B (zh) * | 2020-07-28 | 2023-09-15 | 网易(杭州)网络有限公司 | 多机控制方法、装置、设备及存储介质 |
CN111866160A (zh) * | 2020-07-28 | 2020-10-30 | 网易(杭州)网络有限公司 | 多机控制方法、装置、设备及存储介质 |
CN112994982A (zh) * | 2021-03-11 | 2021-06-18 | 苏州沁游网络科技有限公司 | 一种云真机的抓包控制方法、装置、***及存储介质 |
CN112860572A (zh) * | 2021-03-12 | 2021-05-28 | 网易(杭州)网络有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
CN112860572B (zh) * | 2021-03-12 | 2024-03-22 | 杭州网易数之帆科技有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
CN113138919A (zh) * | 2021-04-19 | 2021-07-20 | 广州掌动智能科技有限公司 | 多客户端测试***和方法 |
CN113138919B (zh) * | 2021-04-19 | 2022-04-22 | 广州掌动智能科技有限公司 | 多客户端测试***和方法 |
CN113238944A (zh) * | 2021-05-17 | 2021-08-10 | 北京沃东天骏信息技术有限公司 | 一种测试方法、装置和*** |
CN113204494A (zh) * | 2021-05-29 | 2021-08-03 | 长沙市到家悠享家政服务有限公司 | 终端远程测试平台及方法、电子设备及可读介质 |
CN114328272A (zh) * | 2022-03-02 | 2022-04-12 | 北京新氧科技有限公司 | 应用测试方法、装置、***和电子设备 |
CN114466401A (zh) * | 2022-03-02 | 2022-05-10 | 北京新氧科技有限公司 | 图像传输方法和电子设备 |
CN114328272B (zh) * | 2022-03-02 | 2022-06-21 | 北京新氧科技有限公司 | 应用测试方法、装置、***和电子设备 |
CN114466401B (zh) * | 2022-03-02 | 2024-03-22 | 北京新氧科技有限公司 | 图像传输方法和电子设备 |
CN114884931A (zh) * | 2022-04-27 | 2022-08-09 | 京东科技控股股份有限公司 | 一种测试***及其搭建方法、装置、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684218A (zh) | 基于云真机的测试***及测试方法 | |
CN109600282A (zh) | 基于云真机的测试***及测试方法 | |
CN110687809B (zh) | 选取主控设备的方法、装置及设备联动*** | |
CN106354546B (zh) | 虚拟机远程控制方法和*** | |
CN103179168A (zh) | 电子装置及通过蓝牙共享资料的方法 | |
CN104702665A (zh) | 信息分享方法和信息分享装置 | |
CN105512343A (zh) | 网络异常模拟、数据库故障自动切换的测试方法和装置 | |
CN102109959A (zh) | 屏幕旋转时java应用程序界面跟随旋转的方法 | |
CN106843537A (zh) | 鼠标同步的方法、装置和*** | |
CN103327051A (zh) | 远程桌面管理***及方法 | |
CN102077553A (zh) | 用于提供背景触发的背景模型分发的方法、设备和计算机程序产品 | |
CN105578310A (zh) | 基于websocket协议的智能电视遥控方法及装置 | |
CN105794152A (zh) | 与楼宇自动化的基于web的交互 | |
CN111444095A (zh) | 移动设备的测试平台***和测试方法 | |
CN105653353B (zh) | 一种基于容器的多***交互通讯方法和装置 | |
CN111694550B (zh) | 一种页面显示控制方法、装置及*** | |
JP5632553B1 (ja) | 表示データ生成装置及びプログラム | |
CN102163197A (zh) | 一种换肤方法、***和装置 | |
CN104580506A (zh) | 离线地图数据的获取方法、云端服务器及客户端 | |
KR102115076B1 (ko) | 데이터 조작 제어 방법 및 그 시스템과 사용자 단말 | |
CN101262371A (zh) | 网络设备的配置方法和设备 | |
CN115129574A (zh) | 一种代码测试方法和装置 | |
KR20130005544A (ko) | 사용자 인터페이스 제공 장치 및 방법 | |
CN104954503B (zh) | 分配装置和分配方法 | |
CN108897689A (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: 20220119 Address after: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200040 Applicant after: Tianyi Digital Life Technology Co.,Ltd. Address before: 1 / F and 2 / F, East Garden, Huatian International Plaza, 211 Longkou Middle Road, Tianhe District, Guangzhou, Guangdong 510630 Applicant before: Century Dragon Information Network Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |
|
RJ01 | Rejection of invention patent application after publication |