CN112799891A - iOS设备测试方法、装置、系统、存储介质及计算机设备 - Google Patents
iOS设备测试方法、装置、系统、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN112799891A CN112799891A CN202110056459.3A CN202110056459A CN112799891A CN 112799891 A CN112799891 A CN 112799891A CN 202110056459 A CN202110056459 A CN 202110056459A CN 112799891 A CN112799891 A CN 112799891A
- Authority
- CN
- China
- Prior art keywords
- tested
- ios
- ios device
- industrial control
- screen
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种iOS设备测试方法、装置、系统、存储介质及计算机设备,可以免去对MacOS的依赖,同时便于测试系统的扩展。该方法包括:通过模拟集成开发环境建立的与被测iOS设备的连接,获取被测iOS设备的状态信息和设备信息;将被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件;若根据状态信息确定被测iOS设备在线,则接收从上层设备传回的针对被测iOS设备的测试指令;将测试指令通过与被测iOS设备的连接发送至被测iOS设备;向上层设备上传被测iOS设备执行测试指令后返回的操作结果。本申请的技术方案摆脱了工业控制计算机对iOS的依赖,也方便测试系统的扩展。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种iOS设备测试方法、装置、系统、存储介质及计算机设备。
背景技术
iOS设备的测试是保障基于iOS设备的应用的质量必不可少的环节。为了节省成本,或者在本地缺少iOS设备的情形下,业界一般是通过远程方式对iOS设备进行测试,具体将被测iOS设备连接至网络中的服务器,测试人员通过网络,远程对iOS设备,以完成对iOS设备的测试工作。
然而,尽管解决了本地iOS设备不足的问题,上述现有的iOS设备测试方法仍然存在如下缺陷:
1)需要依赖于苹果操作系统(MacOS),原因在于与iOS设备连接的计算机,其上运行的集成开发环境必须是依赖于MacOS的集成开发环境;
2)测试系统扩展困难,原因在于上述与iOS设备连接的计算机,其与上层设备(例如Web服务器)之间的耦合性过强。
发明内容
本申请实施例提供一种iOS设备测试方法、装置、系统、存储介质及计算机设备,可以免去对MacOS的依赖,同时便于测试系统的扩展。
本申请实施例提供了一种iOS设备测试方法,包括:
通过模拟集成开发环境建立的与被测iOS设备的连接,获取所述被测iOS设备的状态信息和设备信息,所述模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;
将所述被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,所述上层设备包括Web服务器或运行自动化测试工具的终端;
若根据所述状态信息确定所述被测iOS设备在线,则接收从所述上层设备传回的针对所述被测iOS设备的测试指令;
将所述测试指令通过所述与被测iOS设备的连接发送至所述被测iOS设备;
向所述上层设备上传所述被测iOS设备执行所述测试指令后返回的操作结果。
可选地,所述方法还包括:接收所述被测iOS设备的屏幕截图;对所述屏幕截图进行优化处理,使得所述被测iOS设备的屏幕实时显示于所述上层设备的显示端。
可选地,所述接收所述被测iOS设备的屏幕截图,包括:将所述与被测iOS设备的连接优化为与所述被测iOS设备的长连接;调用所述被测iOS设备的私有接口,通过与所述被测iOS设备的长连接连续接收所述被测iOS设备屏幕的压缩截图以获得所述被测iOS设备的截屏图片流,所述被测iOS设备屏幕的压缩截图为对所述被测iOS设备的屏幕截图压缩获得;所述对所述屏幕截图进行优化处理,使得所述被测iOS设备的屏幕实时显示于所述上层设备的显示端,包括:基于视频编码算法,将所述被测iOS设备的截屏图片流转化为所述被测iOS设备的截屏视频流;将所述被测iOS设备的截屏视频流上传至所述上层设备,以在对所述截屏视频流解码后将所述被测iOS设备的屏幕显示于所述上层设备的显示端。
可选地,所述基于视频编码算法,将所述被测iOS设备的截屏图片流转化为所述被测iOS设备的截屏视频流,包括:确定所述被测iOS设备的截屏图片流中非关键图像帧与关键图像帧之间的差别像素;基于所述视频编码算法,对所述关键图像帧和所述差别像素进行编码压缩,以形成所述被测iOS设备的截屏视频流。
可选地,所述基于视频编码算法,将所述被测iOS设备的截屏图片流转化为所述被测iOS设备的截屏视频流,包括:在所述被测iOS设备的截屏图片流为所述RGB格式的图像帧时,将所述RGB格式的图像帧转换为YUV格式的图像帧,以获得多个YUV格式的图像帧;通过预设编码方法分别对所述多个YUV格式的图像帧进行编码压缩,以形成与所述多个YUV格式的图像帧对应的图像数据包;根据所述多个图像数据包,生成所述被测iOS设备的截屏视频流。
可选地,所述接收从所述上层设备传回的针对所述被测iOS设备的测试指令,包括:将与所述上层设备的连接优化为与所述上层设备的长连接;通过与所述上层设备的长连接,接收针对所述被测iOS设备的测试指令,所述测试指令为所述上层设备解析用户在所述实时显示的屏幕进行的操作,将所述操作封装后得到。
可选地,所述将所述测试指令通过所述与被测iOS设备的连接发送至所述被测iOS设备,包括:将所述与被测iOS设备的连接优化为与所述被测iOS设备的长连接;调用所述被测iOS设备的私有接口,通过与所述被测iOS设备的长连接将所述测试指令发送至所述被测iOS设备。
本申请另一实施例提供一种iOS设备测试方法,所述方法包括:
将被测iOS设备的屏幕实时显示于显示端;
解析用户在所述实时显示的屏幕进行的操作,将所述操作封装为针对所述被测iOS设备的测试指令;
向通过模拟集成开发环境与所述被测iOS设备连接的工业控制计算机发送针对所述被测iOS设备的测试指令,以在所述工业控制计算机接收到所述测试指令后通过与所述被测iOS设备的连接发送至所述被测iOS设备;
接收所述工业控制计算机上传的所述被测iOS设备执行所述测试指令后返回的操作结果。
本申请另一实施例提供一种iOS设备测试方法,所述方法包括:
对被测iOS设备的屏幕进行截图和压缩,得到所述被测iOS设备屏幕的压缩截图;
通过采用模拟集成开发环境建立的与工业控制计算机的连接,将所述被测iOS设备屏幕的压缩截图回传至所述工业控制计算机,以使所述工业控制计算机将所述被测iOS设备屏幕的压缩截图处理成所述被测iOS设备的截屏视频流后上传至上层设备,由所述上层设备对所述截屏视频流解码后将所述被测iOS设备的屏幕实时显示于所述上层设备的显示端;
接收所述工业控制计算机发送的针对所述被测iOS设备的测试指令;
执行所述测试指令;
将执行所述测试指令所得操作结果通过所述与工业控制计算机的连接回传至所述工业控制计算机,以使所述工业控制计算机将所述操作结果上传至所述上层设备,所述上层设备耦合至消息中间件,所述消息中间件接收所述工业控制计算机发布的所述被测iOS设备的状态信息和设备信息。
本申请实施例还提供一种iOS设备测试装置,包括:
信息获取模块,用于通过模拟集成开发环境建立的与被测iOS设备的连接,获取所述被测iOS设备的状态信息和设备信息,所述模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;
信息发布模块,用于将所述被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,所述上层设备包括Web服务器或运行自动化测试工具的终端;
第一接收模块,用于若根据所述状态信息确定所述被测iOS设备在线,则接收从所述上层设备传回的针对所述被测iOS设备的测试指令;
第一发送模块,用于将所述测试指令通过所述与被测iOS设备的连接发送至所述被测iOS设备;
第一上传模块,用于向所述上层设备上传所述被测iOS设备执行所述测试指令后返回的操作结果。
本申请另一实施例还提供一种iOS设备测试装置,包括:
实时处理模块,用于将被测iOS设备的屏幕实时显示于显示端;
解析模块,用于解析用户在所述实时显示的屏幕进行的操作,将所述操作封装为针对所述被测iOS设备的测试指令;
第二发送模块,用于向通过模拟集成开发环境与所述被测iOS设备连接的工业控制计算机发送针对所述被测iOS设备的测试指令,以在所述工业控制计算机接收到所述测试指令后通过与所述被测iOS设备的连接发送至所述被测iOS设备;
第三接收模块,用于接收所述工业控制计算机上传的所述被测iOS设备执行所述测试指令后返回的操作结果。
本申请另一实施例还提供一种iOS设备测试装置,包括:
截屏处理模块,用于对被测iOS设备的屏幕进行截图和压缩,得到所述被测iOS设备屏幕的压缩截图;
第一回传模块,用于通过采用模拟集成开发环境建立的与工业控制计算机的连接,将所述被测iOS设备屏幕的压缩截图回传至所述工业控制计算机,以使所述工业控制计算机将所述被测iOS设备屏幕的压缩截图处理成所述被测iOS设备的截屏视频流后上传至上层设备,由所述上层设备对所述截屏视频流解码后将所述被测iOS设备的屏幕实时显示于所述上层设备的显示端;
第四接收模块,用于接收所述工业控制计算机发送的针对所述被测iOS设备的测试指令;
指令执行模块,用于执行所述测试指令;
第二回传模块,用于将执行所述测试指令所得操作结果通过所述与工业控制计算机的连接回传至所述工业控制计算机,以使所述工业控制计算机将所述操作结果上传至所述上层设备,所述上层设备耦合至消息中间件,所述消息中间件接收所述工业控制计算机发布的所述被测iOS设备的状态信息和设备信息。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的iOS设备测试方法中的步骤。
本申请实施例还提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的iOS设备测试方法中的步骤。
从上述本申请实施例提供的技术方案可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,意味着上层设备(例如,Web服务器等)可以直接从消息中间件获取被测iOS设备的状态信息和设备信息,从而可以实现工业控制计算机解耦上层设备,方便系统的扩展。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的iOS设备测试装置的系统示意图。
图2为本申请实施例提供的iOS设备测试方法的流程示意图。
图3为本申请另一实施例提供的iOS设备测试方法的流程示意图。
图4为本申请另一实施例提供的iOS设备测试方法的流程示意图。
图5为本申请实施例提供的iOS设备测试装置的结构示意图。
图6为本申请另一实施例提供的iOS设备测试装置的结构示意图。
图7为本申请另一实施例提供的iOS设备测试装置的结构示意图。
图8为本申请另一实施例提供的iOS设备测试装置的结构示意图
图9为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种iOS设备测试方法、装置、存储介质及计算机设备。具体地,本申请实施例的iOS设备测试方法可以由计算机设备执行,其中,该计算机设备可以为工业控制计算机(工控机)、Web服务器以及iOS设备等。该工业控制计算机可以是基于Windows操作系统、Ubuntu操作系统或Linux操作系统等操作系统的电子设备,Web服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器,iOS设备可以是基于iOS的设备,包括iphone、iPAD等基于苹果公司的iOS的电子设备。
例如,当该iOS设备测试方法运行于工业控制计算机时,工业控制计算机存储有游戏应用程序并用于呈现游戏画面中的虚拟场景。工业控制计算机用于通过图形用户界面与用户进行交互,例如通过工业控制计算机下载安装游戏应用程序并运行。该工业控制计算机将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在工业控制计算机的显示屏上,或者,通过全息投影呈现图形用户界面。例如,工业控制计算机可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。
例如,当该iOS设备测试方法运行于Web服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,iOS设备测试方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,例如,移动终端、电视机、计算机、掌上电脑、个人数字助理等,但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
请参阅图1,图1为本申请实施例提供的iOS设备测试的系统示意图。该系统可以包括至少一个被测iOS设备1000,至少一个上层设备2000,至少一个数据库3000、网络4000、工业控制计算机5000和消息中间件6000。被测iOS设备1000是被测试的对象,其主要用于对被测iOS设备1000的屏幕进行截图和压缩,得到被测iOS设备1000屏幕的压缩截图,通过采用模拟集成开发环境建立的与工业控制计算机5000的连接,将被测iOS设备1000屏幕的压缩截图回传至工业控制计算机5000,目的是使工业控制计算机5000将被测iOS设备1000屏幕的压缩截图处理成被测iOS设备1000的截屏视频流后上传至工业控制计算机5000的上层设备2000,由上层设备2000对截屏视频流解码后将被测iOS设备1000的屏幕实时显示于上层设备2000的显示端,然后,被测iOS设备1000接收工业控制计算机5000发送的针对被测iOS设备1000的测试指令,执行针对被测iOS设备1000的测试指令,将执行测试指令所得操作结果通过与工业控制计算机5000的连接回传至工业控制计算机5000,以使工业控制计算机5000将操作结果上传工业控制计算机5000的上层设备2000。工业控制计算机5000主要用于通过模拟集成开发环境(此处的模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境)建立的与被测iOS设备1000的连接,获取被测iOS设备1000的状态信息和设备信息,将被测iOS设备1000的状态信息和设备信息发布至与上层设备2000(此处的上层设备2000包括Web服务器或运行自动化测试工具的终端)连接的消息中间件6000,若根据状态信息确定被测iOS设备1000在线,则接收从上层设备2000传回的针对被测iOS设备1000的测试指令,将测试指令通过与被测iOS设备1000的连接发送至被测iOS设备1000,向上层设备2000上传被测iOS设备1000执行测试指令后返回的操作结果。上层设备2000主要用于将被测iOS设备1000的屏幕实时显示于显示端,解析用户在实时显示的屏幕进行的操作,将这些操作封装为针对被测iOS设备1000的测试指令,向通过模拟集成开发环境与被测iOS设备1000连接的工业控制计算机发送针对被测iOS设备1000的测试指令(目的在于在工业控制计算机5000接收到测试指令后通过与被测iOS设备1000的连接发送至被测iOS设备1000),接收工业控制计算机5000上传的被测iOS设备1000执行测试指令后返回的操作结果。需要说明的是,本申请的iOS设备测试的系统中,上层设备2000还连接一个显示器件(图1没有示出)用作其显示端。作为与用户的交互设备,显示端一方面从上层设备2000接收到被测iOS设备1000的截屏视频流的解码数据,渲染出被测iOS设备1000的屏幕;另一方面,显示端接收用户在被测iOS设备1000的屏幕上的操作,将其发送至上层设备2000,上层设备2000解析出该操作对应的测试指令后发送至被测iOS设备1000执行。
被测iOS设备1000与工业控制计算机5000之间、工业控制计算机5000与上层设备2000之间、工业控制计算机5000与消息中间件6000之间以及上层设备2000与消息中间件6000之间均可通过网络4000相互连接。网络4000可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,该系统可以包括多个数据库3000,多个数据库3000耦合到不同的上层设备2000,可以将被测iOS设备的状态信息和设备信息连续、永久性地存储,而消息中间件6000主要用于暂存由工业控制计算机5000发布的被测iOS设备1000的状态信息和设备信息,以供上层设备2000实时订阅。
请参阅图2,为本申请实施例提供的iOS设备测试方法的流程示意图,其执行主体可以是图1示例的系统中的工业控制计算机5000。图2示例的方法主要包括步骤S201至步骤S205,详细说明如下:
步骤S201,通过模拟集成开发环境建立的与被测iOS设备的连接,获取被测iOS设备的状态信息和设备信息,其中,模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境。
现有技术中,为了对iOS设备进行测试,与iOS设备连接的电子设备必须是基于iOS的工控机或其他终端。尽管本申请实施例的技术方案也是测试iOS设备,然而,本申请实施例的工业控制计算机可以不为基于iOS的电子设备,即,该工业控制计算机可以是基于Windows、Ubuntu或Linux等操作系统的电子设备。为了实现工业控制计算机与被测iOS设备连接,可以对iOS设备的原生集成开发环境,例如Xcode进行模拟,获得一个模拟集成开发环境,在非iOS的工业控制计算机上运行该模拟集成开发环境,建立该工业控制计算机与被测iOS设备的连接,然后,通过该连接去获取被测iOS设备的状态信息和设备信息。
上述被测iOS设备的设备信息主要包括被测iOS设备的型号、序列号、中央处理器型号、版本、图形处理器的型号、版本、屏幕尺寸、ROM、RAM、电量和知识产权等信息。获取被测iOS设备的设备信息具体可以采用idevice这个工具先获取到被测iOS设备的序列号,并依据该序列号去获取该被测iOS设备的其他设备信息,再对设备信息进行分析整理,转化为可直接呈现的设备信息格式。例如,对于被测iOS设备的中央处理器型号、版本、图形处理器的型号、版本和屏幕尺寸等,可以是先获取到被测iOS设备的序列号,然后据此取得被测iOS设备的一个型号,最后,根据被测iOS设备的该型号从已整理好的设备信息取出对应的设备信息。
至于被测iOS设备的状态信息,在本申请实施例中,主要是指被测iOS设备是在线状态还是离线状态,其主要是通过被测iOS设备是否可以被上层调用来判断,即,若被测iOS设备可以被上层调用,则被测iOS设备的状态为在线状态,否则为离线状态。具体实现时,可以通过在工业控制计算机维护一个线程,该线程持续对被测iOS设备的状态进行探测,例如,调用被测iOS设备。若被测iOS设备能够正常返回信息,则表明被测iOS设备可以被正常调用即该被测iOS设备为在线状态;若在预设时间内,被测iOS设备未能返回信息或探测失败,则表明被测iOS设备不能被正常调用即该被测iOS设备为离线状态,此时,应当重启对该被测iOS设备的服务。
步骤S202,将被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,其中,上层设备包括Web服务器或运行自动化测试工具的终端。
在本申请实施例中,上层设备包括Web服务器或运行自动化测试工具的终端,之所以称为上层设备,是因为从数据流的处理逻辑上,这些设备位于整个处理逻辑的上层,其中,Web服务器还可以与显示端连接,显示端的实体可以是一个显示器件,其上由Web浏览器这个客户端展现网页,用户可以通过网页与Web服务器交互。而运行自动化测试工具的终端,其在获取工业控制计算机的IP地址和转发端口地址后,即可通过工业控制计算机实现与被测iOS设备的连接,运行自动化测试脚本开始对被测iOS设备的测试。
与现有技术不同的是,在本申请实施例中,上层设备耦合了一个消息中间件,例如Redis数据库或者其他消息中间件,例如Rabbitmq、activatemq等。在工业控制计算机获取到被测iOS设备的状态信息和设备信息后,将这些信息实时发布至消息中间件。上层设备定期或者实时从消息中间件订阅被测iOS设备的状态信息和设备信息,如此,避免了上层设备不得不从工业控制计算机获取被测iOS设备的状态信息和设备信息,从而实现了上层设备与工业控制计算机的解耦,利于系统的扩展。例如,假设如现有技术一样,不存在消息中间件,那么,工业控制计算机与上层设备需要互相获知对方的IP地址,才能实现工业控制计算机向上层设备发送被测iOS设备的状态信息和设备信息。如此,当需要新增工业控制计算机时,新增的工业控制计算机与上层设备又需要互相获知对方的IP地址,这意味着又需要重新做一些配置、打包等额外的工作。然而,当增加与上层设备耦合的消息中间件后,由于被测iOS设备的状态信息和设备信息会由工业控制计算机实时发布至该消息中间件,上层设备无需与工业控制计算机交互即可从消息中间件获取被测iOS设备的状态信息和设备信息。由于上层设备无需与工业控制计算机交互,因此,工业控制计算机的新增与上层设备不再有关联,从而实现了上层设备与工业控制计算机的解耦,扩展系统(例如,通过增加工业控制计算机的数量)变得异常方便。
步骤S203,若根据被测iOS设备的状态信息确定被测iOS设备在线,则接收从上层设备传回的针对被测iOS设备的测试指令。
如前所述,判断被测iOS设备是否在线,可以通过工业控制计算机维护的一个线程持续对被测iOS设备的状态进行探测。若被测iOS设备能够正常返回信息,例如,返回一个用于表明iOS设备的状态的特定值,则表明被测iOS设备可以被正常调用,该被测iOS设备的状态为在线。在确定被测iOS设备在线后,可以接收从上层设备传回的针对被测iOS设备的测试指令,准备向被测iOS设备发送,此处,测试指令为上层设备解析用户在上层设备的显示端实时显示的被测iOS设备的屏幕进行的操作,将操作封装为工业控制计算机能够识别的格式后得到的指令。至于如何在上层设备的显示端实时显示被测iOS设备的屏幕,可参阅后续实施例的相关说明。
步骤S204,将针对被测iOS设备的测试指令通过与被测iOS设备的连接发送至被测iOS设备。
如前所述,是通过模拟集成开发环境建立的与被测iOS设备的连接,工业控制计算机方才可以与被测iOS设备交互,而考虑到实时性,即希望用户在上层设备的显示端输入的操作,被测iOS设备能够快速响应,即使是测试指令的发送,理想状态下也是能够快速送达被测iOS设备。作为本申请一个实施例,将针对被测iOS设备的测试指令通过与被测iOS设备的连接发送至被测iOS设备可以是将工业控制计算机与被测iOS设备的连接优化为工业控制计算机与被测iOS设备的长连接,调用被测iOS设备的私有接口,通过工业控制计算机与被测iOS设备的长连接将测试指令发送至被测iOS设备。此处,工业控制计算机与被测iOS设备的长连接基于套接字(socket)的长连接实现,所谓基于套接字(socket)的长连接,是指在一个连接上可以连续发送多个数据包,在连接保持期间,若没有数据包发送,则需要双方发链路检测包,并且客户端和服务端只用一个socket对象。作为本申请一个实施例,将工业控制计算机与被测iOS设备的连接优化为工业控制计算机与被测iOS设备的长连接,调用被测iOS设备的私有接口,通过工业控制计算机与被测iOS设备的长连接将测试指令发送至被测iOS设备可以是:在工业控制计算机与被测iOS设备之间的握手请求成功之后,被测iOS设备向工业控制计算机发送数据请求,并定时向工业控制计算机发出心跳包,与工业控制计算机保持多通道复用方式的长连接,调用被测iOS设备的私有接口,通过被测iOS设备多通道复用方式的长连接将测试指令发送至被测iOS设备,此处,与工业控制计算机保持多通道复用方式的长连接可以是:向工业控制计算机发起连接请求,在工业控制计算机接受该连接请求后建立连接;使用多通道收发的方式与工业控制计算机进行数据交互;在数据交互完成之后,保持多通道复用方式的长连接,以在下一次数据交互时使用,显然,此处的数据交互包括工业控制计算机向被测iOS设备发送测试指令。
步骤S205,向上层设备上传被测iOS设备执行测试指令后返回的操作结果。
为了提升传输效率,降低指令响应的延时,在本申请实施例中,工业控制计算机与上层设备之间的连接也是基于套接字的长连接,工业控制计算机可以通过该长连接将被测iOS设备执行测试指令后返回的操作结果向上层设备上传,由上层设备的显示端对操作结果予以显示。
需要说明的是,在本申请实施例中,测试指令是一种统称。原则上,在真实iOS设备上可能执行的任何一种操作对应解析出来的指令,都可以构成本申请实施例中的测试指令。例如,在真实iOS设备的屏幕上的点击、滑动、home按键的点击以及在真实iOS设备进行的快捷设置、文本输入、应用列表呈现、应用安装和应用卸载等操作,在上层设备显示端呈现的被测iOS设备的屏幕上对被测iOS设备进行的上述同样操作,均可被上层设备解析为测试指令,具体解析过程可参阅后续实施例的相关说明。
诚然,用户(此处是指对iOS设备有测试需求或需要对iOS设备进行测试操作的人)可以通过在上层设备的显示端输入命令实现对被测iOS设备的操控,然而,这对多数用户而言并非最佳选择,比较适合用户使用习惯的是在被测iOS设备上进行操作。由于相对于用户而言,被测iOS设备并非本地设备,而是通过网络与上层设备连接,用户不能在本地操控被测iOS设备。一个可行的方法是使得被测iOS设备的屏幕能够在上层设备的显示端显示,如此,用户可以如在本地操控被测iOS设备一样,通过上层设备的显示端远程操控该被测iOS设备。
因此,上述本申请实施例提供的方法还包括接收被测iOS设备的屏幕截图,对被测iOS设备的屏幕截图进行优化处理,使得被测iOS设备的屏幕实时显示于上层设备的显示端。换言之,要使被测iOS设备的屏幕能够在上层设备的显示端显示,其中一个前提条件是能够在被测iOS设备上快速地截屏,然后将截屏所得被测iOS设备的屏幕截图快速上传至上层设备进而在其显示端如放映幻灯片(PPT)一样,快速刷新所得被测iOS设备的屏幕截图,这就意味着只要每秒所得被测iOS设备的屏幕截图足够多,同时传输得足够快,显示端“放映幻灯片”也足够快,则在显示端就能展示如真实iOS设备的屏幕一样展示被测iOS设备的屏幕。考虑到在人眼看来,图像传输的帧率至少需要达到15帧/秒才能不至于感受到画面的明显卡顿,因此,在上述实施例中,“足够快”是指需要每秒能够获取到15张以上被测iOS设备的屏幕截图。
在本申请实施例中,上述接收被测iOS设备的屏幕截图具体可以是:将工业控制计算机与被测iOS设备的连接优化为与被测iOS设备的长连接;调用被测iOS设备的私有接口,通过工业控制计算机与被测iOS设备的长连接连续接收被测iOS设备屏幕的压缩截图以获得被测iOS设备的截屏图片流,其中,被测iOS设备屏幕的压缩截图为对被测iOS设备的屏幕截图压缩获得;而对被测iOS设备的屏幕截图进行优化处理,使得被测iOS设备的屏幕实时显示于上层设备的显示端具体可以是:基于视频编码算法,将被测iOS设备的截屏图片流转化为被测iOS设备的截屏视频流,将被测iOS设备的截屏视频流上传至上层设备,以在对截屏视频流解码后将被测iOS设备的屏幕显示于上层设备的显示端。上述实施例中,将工业控制计算机与被测iOS设备的连接优化为工业控制计算机与被测iOS设备的长连接与前述实施例中将工业控制计算机与被测iOS设备的连接优化为与被测iOS设备的长连接的方案相同,不做赘述。
前述提及,在上层设备的显示端呈现的被测iOS设备的屏幕本质上还是被测iOS设备的屏幕截图,而其呈现过程就是“放映”这些屏幕截图的过程,要在上层设备的显示端实时显示被测iOS设备的屏幕,关键还是每个处理环节都尽可能快。在上述实施例中,已经说明通过对被测iOS设备的屏幕截图压缩获得被测iOS设备屏幕的压缩截图,以减小被测iOS设备的屏幕截图的容量,通过调用被测iOS设备的私有接口以及工业控制计算机与被测iOS设备的长连接,减小传输的延时,这些可以认为是在上层设备的显示端呈现被测iOS设备的屏幕的前期阶段或在先环节,后期阶段即“放映”被测iOS设备的屏幕截图的过程,就是此处需要着重说明的是该过程中基于视频编码算法,将被测iOS设备的截屏图片流转化为被测iOS设备的截屏视频流,将被测iOS设备的截屏视频流上传至上层设备。
在本申请一个实施例中,基于视频编码算法,将被测iOS设备的截屏图片流转化为被测iOS设备的截屏视频流,将被测iOS设备的截屏视频流上传至上层设备可以是:确定被测iOS设备的截屏图片流中非关键图像帧与关键图像帧之间的差别像素,基于视频编码算法,对被测iOS设备的截屏图片流中关键图像帧和差别像素进行编码压缩,以形成被测iOS设备的截屏视频流。此处的视频编码算法可以是H264、H265等视频压缩算法,本申请对此不做限制。需要说明的是,在本申请实施例中,可以先获取被测iOS设备的截屏图片流中的关键图像帧,然后在编码压缩的过程中再确定非关键图像帧与关键图像帧之间的差别像素,再进行编码压缩。由于在编码压缩图像帧形成被测iOS设备的截屏视频流的过程中,针对相同的像素只进行了一次压缩,因此减少了压缩量,并且,将图像帧压缩成视频流,大大减少数据传输量,节省了带宽,进一步减少了画面卡顿现象的出现。
作为本申请一个实施例,基于视频编码算法,对被测iOS设备的截屏图片流中关键图像帧和差别像素进行编码压缩,以形成被测iOS设备的截屏视频流可以通过步骤S1至步骤S3实现,说明如下:
步骤S1:在被测iOS设备的截屏图片流为RGB格式的图像帧时,将RGB格式的图像帧转换为YUV格式的图像帧,以获得多个YUV格式的图像帧。
YUV格式是指亮度参量和色度参量分开表示的像素格式,而将亮度参量和色度参量分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。由于YUV不像RGB那样要求三个独立的视频信号同时传输,因此,在本申请实施例中,将RGB格式的图像帧转换为YUV格式的图像帧进行传送时可以占用极少的频宽,节省大量资源。
步骤S2:通过预设编码方法分别对多个YUV格式的图像帧进行编码压缩,以形成与多个YUV格式的图像帧对应的图像数据包。
在通过预设编码方法分别对多个YUV格式的图像帧进行编码压缩的过程中,可以通过调节预设的视频编码软件的参数以保障视频质量、加快编码压缩的速度、降低视频流的延迟,其中视频编码软件的参数可以包括码率、编码压缩时画面的宽度和高度、视频频率、丢帧后需要多少帧能恢复正常画面、从编码器输入到解码器输出的延迟帧数、编码压缩的线程数、编码格式、编码压缩算法等。在形成与多个YUV格式的图像帧对应的图像数据包时,可以将图像帧对应的序列号和生成图像数据包对应的时间戳写入到图像帧中,例如,可以在生成图像帧的同时对图像帧进行编号,使每个图像帧具有对应的序列号,然后根据图像帧形图像数据包时,获取对应的时间戳,并将图像帧的序列号和图像数据包对应的时间戳添加到与多个YUV格式的图像帧对应的图像数据包中。
步骤S3:根据多个图像数据包,生成被测iOS设备的截屏视频流。
通过上述技术方案,能够减少数据的传输量,减少截屏视频流的卡顿,提高屏幕显示的实时性。
上述完成了在上层设备的显示端实时显示被测iOS设备的屏幕的主要工作后,用户就能够像在真实iOS设备上操控iOS设备一样,在上层设备的显示端实时显示的被测iOS设备的屏幕上对被测iOS设备操作,此时,前述实施例的步骤S203中,接收从上层设备传回的针对被测iOS设备的测试指令具体可以是:将工业控制计算机与上层设备的连接优化为工业控制计算机与上层设备的长连接;通过工业控制计算机与上层设备的长连接,接收针对被测iOS设备的测试指令,其中,测试指令为用户在上层设备的显示端实时显示的被测iOS设备的屏幕上对被测iOS设备进行的操作,经上层设备解析、封装后得到。换言之,经前述实施例提供的技术方案,在上层设备的显示端实时显示的被测iOS设备的屏幕,用户该实时显示的被测iOS设备的屏幕上对被测iOS设备进行一些操作,这些经上层设备解析、封装后得到工业控制计算机能够识别的测试指令,通过上层设备与工业控制计算机之间建立的长连接传送至工业控制计算机。
由上述图2示例的iOS设备测试方法可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,意味着上层设备(例如,Web服务器等)可以直接从消息中间件获取被测iOS设备的状态信息和设备信息,从而可以实现工业控制计算机解耦上层设备,方便系统的扩展。
附图2示例的步骤S201至步骤S204是以工业控制计算机为执行主体说明本申请的技术方案,附图3将以上层设备为执行主体来说明本申请的技术方案,主要包括步骤S301至步骤S304:
步骤S301:将被测iOS设备的屏幕实时显示于显示端。
如前所述,工业控制计算机根据视频编码算法,将从被测iOS设备获取的该被测iOS设备的屏幕截图转化为被测iOS设备的截屏视频流后,将被测iOS设备的截屏视频流上传至上层设备。此时上层设备对被测iOS设备的截屏视频流执行与工业控制计算机相反的操作即对被测iOS设备的截屏视频流执行解码操作。上层设备将解码后的数据发往显示端,显示端实时渲染出图像帧,呈现被测iOS设备的屏幕。
步骤S302:解析用户在显示端实时显示的被测iOS设备的屏幕进行的操作,将该操作封装为针对被测iOS设备的测试指令。
在本申请实施例中,用户(此处的用户如前述实施例所提及的用户相同,均是指对iOS设备有测试需求或需要对iOS设备进行测试操作的人)在显示端实时显示的被测iOS设备的屏幕进行的操作主要分为两类,一类是针对被测iOS设备的屏幕的操作,主要包括在被测iOS设备的屏幕上的点击、滑动、home按键的点击、快捷设置以及文本输入等,另一类是针对应用程序的操作,主要包括应用列表呈现、应用安装和应用卸载等。这些操作最先发生于显示端的Web网页,然后,传送到上层设备后被上层设备解析,最终封装为工业控制计算机能够理解的格式的数据即测试指令。
对于针对被测iOS设备的屏幕的操作,仅以在被测iOS设备的屏幕上滑动为例来说明其原理,其他的操作原理类似,不做赘述。首先,显示端在其显示的Web网页上模拟出操作,将该模拟出来的操作转为具体的点坐标(包括起始坐标和结束坐标)和持续时间等数据并发送至上层设备(例如,Web服务器,等等),上层设备对这些数据解析,解析出滑动操作指令,并将这一滑动操作指令进一步组合,封装为工业控制计算机可以理解的格式即测试指令(在被测iOS设备看来该测试指令是一个滑动操作指令,由于该测试指令是用于测试被测iOS设备对滑动操作的响应,因此,该滑动操作指令仍然是一个测试指令)。
对于针对应用程序的操作,工业控制计算机基于tornado实现一个Web服务,实时监听来自上层设备(例如,Web服务器)的请求,该请求实际上是由用户从上层设备的显示端发出。当接收到应用列表、应用安装或应用卸载之类的请求时,工业控制计算机上的Web服务就对应地实现相关操作。例如,当用户需要取得被测iOS设备上的应用列表时,其从显示端的Web网页上发出的应用列表呈现请求送达上层设备后,上层设备解析该请求并封装成相应的测试指令(在被测iOS设备看来,该测试指令是一个请求呈现应用列表的指令,由于该测试指令是用于测试被测iOS设备对请求呈现应用列表这一操作的响应,因此,该请求呈现应用列表指令仍然是一个测试指令);当用户需要在被测iOS设备上安装应用时,其首先需要从显示端的Web网页上提供的接口,将被测iOS设备应用的IPA包体送达上层设备,上层设备解析该IPA包体并向显示端的Web网页返回一个可供下载的IPA包体地址链接,接着,上层设备解析IPA包体地址链接,将应用安装的请求封装为测试指令(在被测iOS设备看来,该测试指令是一个请求安装应用的指令,由于该测试指令是用于测试被测iOS设备对请求安装应用这一操作的响应,因此,该请求安装应用的指令仍然是一个测试指令);对于应用卸载的操作,其被封装为针对被测iOS设备的测试指令与前述实施例类似,不做赘述。
步骤S303:向通过模拟集成开发环境与被测iOS设备连接的工业控制计算机发送针对被测iOS设备的测试指令,以在工业控制计算机接收到测试指令后通过工业控制计算机与被测iOS设备的连接发送至被测iOS设备。
通过上层设备与工业控制计算机之间的长连接,上层设备封装所得测试指令送达工业控制计算机后,工业控制计算机利用其通过模拟集成开发环境与被测iOS设备建立的连接(如前述实施例所述,此处可以是基于套接字的长连接),将测试指令送达至被测iOS设备的iOS-Tagent服务。
步骤S304:接收工业控制计算机上传的被测iOS设备执行测试指令后返回的操作结果。
被测iOS设备上的iOS-Tagent服务收到测试指令,快速做出响应,并将测试指令的操作结果通过其与工业控制计算机之间的长连接上传至工业控制计算机,工业控制计算机将操作结果再上传至上层设备,由上层设备将操作结果在其显示端呈现。
由上述图3示例的iOS设备测试方法可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,由于被测iOS设备的屏幕实时显示于上层设备的显示端,用户可以在上层设备的显示端对被测iOS设备进行操控,实现了对被测iOS设备的远程测试。
附图3示例的步骤S301至步骤S304是以上层设备为执行主体说明本申请的技术方案,附图4将以被测iOS设备为执行主体来说明本申请的技术方案,主要包括步骤S401至步骤S405:
步骤S401:对被测iOS设备的屏幕进行截图和压缩,得到被测iOS设备屏幕的压缩截图。
对被测iOS设备的屏幕进行截图,可以基于对Facebook开源的工具网页驱动代理(WDA,Web Driver Agent)改造得到的iOS-Tagent进行。在利用iOS-Tagent对被测iOS设备的屏幕截图,得到被测iOS设备的截屏后,为了进行高效压缩,在本申请实施例中,可以根据预设方式去除被测iOS设备的截屏的辅助信息和冗余信息,然后,对去除辅助和冗余信息的被测iOS设备的截屏的原图片数据设置压缩参数,压缩为预定格式类型的被测iOS设备屏幕的压缩截图,具体地,当被测iOS设备的截屏为PNG格式时,去除被测iOS设备的截屏中的辅助信息,进一步地,若被测iOS设备的截屏中含有透明通道数据,则将被测iOS设备的截屏中辅助块中除透明通道数据以外的其他数据作为冗余数据去除,并将透明通道数据中透明的像素点的RGB颜色值修改为预设的颜色值,若被测iOS设备的截屏中不含透明通道数据,则将被测iOS设备的截屏中的辅助块作为冗余数据进行去除;在得到去除辅助和冗余信息的被测iOS设备的截屏后,当被测iOS设备的截屏的格式为PNG格式时,分别从预设的过滤类型和预设的压缩参数中选取多种组合,对去除辅助和冗余信息的被测iOS设备的截屏进行遍历压缩,经过预设次数后从中选取压缩率最大的结果作为压缩后的结果,即被测iOS设备屏幕的压缩截图。
步骤S402:通过采用模拟集成开发环境建立的被测iOS设备与工业控制计算机的连接,将被测iOS设备屏幕的压缩截图回传至工业控制计算机,以使工业控制计算机将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,由上层设备对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端。
通过采用模拟集成开发环境建立的被测iOS设备与工业控制计算机的连接,将被测iOS设备屏幕的压缩截图回传至工业控制计算机。至于工业控制计算机如何将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,以及上层设备如何对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端,可以参阅前述实施例的相关说明,此处不做赘述。
步骤S403:接收工业控制计算机发送的针对被测iOS设备的测试指令。
需要说明的是,工业控制计算机发送的针对被测iOS设备的测试指令,实际上仍然来自于上层设备,具体是用户通过在显示端实时显示的被测iOS设备的屏幕上进行操作,该操作传送至上层设备,由上层设备将其解析、封装为工业控制计算机和被测iOS设备均能识别的测试指令后再经工业控制计算机传送至被测iOS设备。
步骤S404:执行针对被测iOS设备的测试指令。
如前所述,针对被测iOS设备的测试指令可以是,例如与在屏幕上点击、滑动、home按键的点击、快捷设置、文本输入、应用列表呈现、应用安装和应用卸载等相应的指令。
步骤S405:将执行测试指令所得操作结果通过被测iOS设备与工业控制计算机的连接回传至工业控制计算机,以使工业控制计算机将操作结果上传至上层设备,其中,上层设备耦合至消息中间件,消息中间件接收工业控制计算机发布的被测iOS设备的状态信息和设备信息。
需要说明的是,在本申请实施例中,上层设备不仅与消息中间件耦合,还与数据库耦合。虽然消息中间件与数据库都存储被测iOS设备的状态信息和设备信息,然而,作为性能更强大、容量更大的存储体,数据库可以长时间存储被测iOS设备的状态信息和设备信息,而消息中间件只需暂时存储被测iOS设备的状态信息和设备信息。
由上述图4示例的iOS设备测试方法可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,工业控制计算机将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,由上层设备对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端,用户可以在上层设备的显示端对被测iOS设备进行操控,实现了对被测iOS设备的远程测试。
为便于更好地实施本申请实施例的iOS设备测试方法,本申请实施例还提供一种iOS设备测试装置。请参阅图5,为本申请实施例提供的iOS设备测试装置的结构示意图。图5示例的装置可以是工业控制计算机或者其中的功能模块,该装置可以包括信息获取模块501、信息发布模块502、第一接收模块503、第一发送模块504和第一上传模块505,其中:
信息获取模块501,用于通过模拟集成开发环境建立的工业控制计算机与被测iOS设备的连接,获取被测iOS设备的状态信息和设备信息,其中,模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;
信息发布模块502,用于将被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,其中,上层设备包括Web服务器或运行自动化测试工具的终端;
第一接收模块503,用于若根据被测iOS设备的状态信息确定被测iOS设备在线,则接收从上层设备传回的针对被测iOS设备的测试指令;
第一发送模块504,用于将针对被测iOS设备的测试指令通过工业控制计算机与被测iOS设备的连接发送至被测iOS设备;
第一上传模块505,用于向上层设备上传被测iOS设备执行测试指令后返回的操作结果。
请参阅图6,为本申请实施例提供的iOS设备测试装置的另一结构示意图。图6与图5在区别在于:该iOS设备测试装置还包括第二接收模块601和第一优化模块602,其中:
第二接收模块601,用于接收被测iOS设备的屏幕截图;
第一优化模块602,用于对被测iOS设备的屏幕截图进行优化处理,使得被测iOS设备的屏幕实时显示于上层设备的显示端。
可选的,上述图6示例的第二接收模块601具体用于将工业控制计算机与被测iOS设备的连接优化为工业控制计算机与被测iOS设备的长连接,调用被测iOS设备的私有接口,通过工业控制计算机与被测iOS设备的长连接连续接收被测iOS设备屏幕的压缩截图以获得被测iOS设备的截屏图片流,其中,被测iOS设备屏幕的压缩截图为对被测iOS设备的屏幕截图压缩获得。
可选的,上述图6示例的第一优化模块602具体用于基于视频编码算法,将被测iOS设备的截屏图片流转化为被测iOS设备的截屏视频流,将被测iOS设备的截屏视频流上传至上层设备,以在对截屏视频流解码后将被测iOS设备的屏幕显示于上层设备的显示端。
可选的,上述基于视频编码算法,将被测iOS设备的截屏图片流转化为被测iOS设备的截屏视频流可以是:确定被测iOS设备的截屏图片流中非关键图像帧与关键图像帧之间的差别像素,基于视频编码算法,对关键图像帧和差别像素进行编码压缩,以形成被测iOS设备的截屏视频流。
可选的,上述基于视频编码算法,将被测iOS设备的截屏图片流转化为被测iOS设备的截屏视频流还可以是:在被测iOS设备的截屏图片流为RGB格式的图像帧时,将RGB格式的图像帧转换为YUV格式的图像帧,以获得多个YUV格式的图像帧,通过预设编码方法分别对多个YUV格式的图像帧进行编码压缩,以形成与多个YUV格式的图像帧对应的图像数据包,根据多个图像数据包,生成被测iOS设备的截屏视频流。
可选的,上述图6示例的第一接收模块503具体用于将工业控制计算机与上层设备的连接优化为工业控制计算机与上层设备的长连接,通过工业控制计算机与上层设备的长连接,接收针对被测iOS设备的测试指令,其中,测试指令为上层设备解析用户在实时显示的屏幕进行的操作,将操作封装后得到。
可选的,上述图5示例的第一发送模块504具体用于将工业控制键计算机与被测iOS设备的连接优化为工业控制键计算机与被测iOS设备的长连接,调用被测iOS设备的私有接口,通过工业控制键计算机与被测iOS设备的长连接将测试指令发送至被测iOS设备。
从上述图5、图6示例的iOS设备测试装置可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,意味着上层设备(例如,Web服务器等)可以直接从消息中间件获取被测iOS设备的状态信息和设备信息,从而可以实现工业控制计算机解耦上层设备,方便系统的扩展。
请参阅图7,为本申请实施例提供的iOS设备测试装置的结构示意图。图7示例的装置可以是上层设备或者其中的功能模块,该装置可以包括实时处理模块701、解析模块702、第二发送模块703和第三接收模块704,其中:
实时处理模块701,用于将被测iOS设备的屏幕实时显示于显示端;
解析模块702,用于解析用户在实时显示的屏幕进行的操作,将操作封装为针对被测iOS设备的测试指令;
第二发送模块703,用于向通过模拟集成开发环境与被测iOS设备连接的工业控制计算机发送针对被测iOS设备的测试指令,以在工业控制计算机接收到测试指令后通过工业控制计算机与被测iOS设备的连接发送至被测iOS设备;
第三接收模块704,用于接收工业控制计算机上传的被测iOS设备执行测试指令后返回的操作结果。
从上述图7示例的iOS设备测试装置可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,由于被测iOS设备的屏幕实时显示于上层设备的显示端,用户可以在上层设备的显示端对被测iOS设备进行操控,实现了对被测iOS设备的远程测试。
请参阅图8,为本申请实施例提供的iOS设备测试装置的结构示意图。图8示例的装置可以是被测iOS设备或者其中的功能模块,该装置可以包括截屏处理模块801、第一回传模块802、第四接收模块803、指令执行模块804和第二回传模块805,其中:
截屏处理模块801,用于对被测iOS设备的屏幕进行截图和压缩,得到被测iOS设备屏幕的压缩截图;
第一回传模块802,用于通过采用模拟集成开发环境建立的与工业控制计算机的连接,将被测iOS设备屏幕的压缩截图回传至工业控制计算机,以使工业控制计算机将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,由上层设备对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端;
第四接收模块803,用于接收工业控制计算机发送的针对被测iOS设备的测试指令;
指令执行模块804,用于执行测试指令;
第二回传模块805,用于将执行测试指令所得操作结果通过被测iOS设备与工业控制计算机的连接回传至工业控制计算机,以使工业控制计算机将操作结果上传至上层设备,其中,上层设备耦合至消息中间件,消息中间件接收工业控制计算机发布的被测iOS设备的状态信息和设备信息。
从上述图8示例的iOS设备测试装置可知,一方面,由于模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境,在iOS设备测试过程中,与被测iOS设备的连接可以通过模拟集成开发环境实现,因此,与iOS设备的连接将无须是基于iOS的计算机,从而摆脱了对iOS的依赖;另一方面,工业控制计算机将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,由上层设备对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端,用户可以在上层设备的显示端对被测iOS设备进行操控,实现了对被测iOS设备的远程测试。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图9所示,图9为本申请实施例提供的计算机设备的结构示意图。该计算机设备900包括有一个或者一个以上处理核心的处理器901、有一个或一个以上计算机可读存储介质的存储器902及存储在存储器902上并可在处理器上运行的计算机程序。其中,处理器901与存储器902电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器901是计算机设备900的控制中心,利用各种接口和线路连接整个计算机设备900的各个部分,通过运行或加载存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行计算机设备900的各种功能和处理数据,从而对计算机设备900进行整体监控。
在本申请实施例中,计算机设备900中的处理器901会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现如下功能:通过模拟集成开发环境建立的与被测iOS设备的连接,获取被测iOS设备的状态信息和设备信息,其中,模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;将被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,其中,上层设备包括Web服务器或运行自动化测试工具的终端;若根据被测iOS设备的状态信息确定被测iOS设备在线,则接收从上层设备传回的针对被测iOS设备的测试指令;将针对被测iOS设备的测试指令通过与被测iOS设备的连接发送至被测iOS设备;向上层设备上传被测iOS设备执行测试指令后返回的操作结果。
或者,在本申请实施例中,计算机设备900中的处理器901会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现如下功能:将被测iOS设备的屏幕实时显示于显示端;解析用户在显示端实时显示的被测iOS设备的屏幕进行的操作,将该操作封装为针对被测iOS设备的测试指令;向通过模拟集成开发环境与被测iOS设备连接的工业控制计算机发送针对被测iOS设备的测试指令,以在工业控制计算机接收到测试指令后通过工业控制计算机与被测iOS设备的连接发送至被测iOS设备;接收工业控制计算机上传的被测iOS设备执行测试指令后返回的操作结果。
或者,在本申请实施例中,计算机设备900中的处理器901会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现如下功能:对被测iOS设备的屏幕进行截图和压缩,得到被测iOS设备屏幕的压缩截图;通过采用模拟集成开发环境建立的被测iOS设备与工业控制计算机的连接,将被测iOS设备屏幕的压缩截图回传至工业控制计算机,以使工业控制计算机将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,由上层设备对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端;接收工业控制计算机发送的针对被测iOS设备的测试指令;执行针对被测iOS设备的测试指令;将执行测试指令所得操作结果通过被测iOS设备与工业控制计算机的连接回传至工业控制计算机,以使工业控制计算机将操作结果上传至上层设备,其中,上层设备耦合至消息中间件,消息中间件接收工业控制计算机发布的被测iOS设备的状态信息和设备信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图9所示,计算机设备900还包括:触控显示屏903、射频电路404、音频电路905、输入单元906以及电源907。其中,处理器901分别与触控显示屏903、射频电路404、音频电路905、输入单元906以及电源907电性连接。本领域技术人员可以理解,图9中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏903可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏903可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器901,并能接收处理器901发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器901以确定触摸事件的类型,随后处理器901根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏903而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏903也可以作为输入单元906的一部分实现输入功能。
在本申请实施例中,通过处理器901执行游戏应用程序在触控显示屏903上生成图形用户界面,图形用户界面上的虚拟场景中包含至少一个技能控制区域,技能控制区域中包含至少一个技能控件。该触控显示屏903用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路905可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路905可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路905接收后转换为音频数据,再将音频数据输出处理器901处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器902以便进一步处理。音频电路905还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元906可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源907用于给计算机设备900的各个部件供电。可选的,电源907可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源907还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图9中未示出,计算机设备900还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,在游戏服务器向外服数据库发送数据库操作指令时,对该数据库操作指令予以截获并执行确定的数据库操作,根据数据库操作的结果,实时同步外服数据库和镜像数据库的数据。因此,与现有技术定期从外服的线上数据库整体拷贝数据至内部数据库以构造外服的镜像数据环境相比,本申请的技术方案能够高效、实时构造镜像数据库,并减小对内部数据库资源的占用。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种iOS设备测试方法中的步骤。例如,该计算机程序可以执行如下步骤:通过模拟集成开发环境建立的与被测iOS设备的连接,获取被测iOS设备的状态信息和设备信息,其中,模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;将被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,其中,上层设备包括Web服务器或运行自动化测试工具的终端;若根据被测iOS设备的状态信息确定被测iOS设备在线,则接收从上层设备传回的针对被测iOS设备的测试指令;将针对被测iOS设备的测试指令通过与被测iOS设备的连接发送至被测iOS设备;向上层设备上传被测iOS设备执行测试指令后返回的操作结果。
或者,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种iOS设备测试方法中的步骤。例如,该计算机程序可以执行如下步骤:将被测iOS设备的屏幕实时显示于显示端;解析用户在显示端实时显示的被测iOS设备的屏幕进行的操作,将该操作封装为针对被测iOS设备的测试指令;向通过模拟集成开发环境与被测iOS设备连接的工业控制计算机发送针对被测iOS设备的测试指令,以在工业控制计算机接收到测试指令后通过工业控制计算机与被测iOS设备的连接发送至被测iOS设备;接收工业控制计算机上传的被测iOS设备执行测试指令后返回的操作结果。
或者,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种iOS设备测试方法中的步骤。例如,该计算机程序可以执行如下步骤:对被测iOS设备的屏幕进行截图和压缩,得到被测iOS设备屏幕的压缩截图;通过采用模拟集成开发环境建立的被测iOS设备与工业控制计算机的连接,将被测iOS设备屏幕的压缩截图回传至工业控制计算机,以使工业控制计算机将被测iOS设备屏幕的压缩截图处理成被测iOS设备的截屏视频流后上传至上层设备,由上层设备对截屏视频流解码后将被测iOS设备的屏幕实时显示于上层设备的显示端;接收工业控制计算机发送的针对被测iOS设备的测试指令;执行针对被测iOS设备的测试指令;将执行测试指令所得操作结果通过被测iOS设备与工业控制计算机的连接回传至工业控制计算机,以使工业控制计算机将操作结果上传至上层设备,其中,上层设备耦合至消息中间件,消息中间件接收工业控制计算机发布的被测iOS设备的状态信息和设备信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种iOS设备测试方法中的步骤,因此,可以实现本申请实施例所提供的任一种iOS设备测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种iOS设备测试方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种iOS设备测试方法,其特征在于,包括:
通过模拟集成开发环境建立的与被测iOS设备的连接,获取所述被测iOS设备的状态信息和设备信息,所述模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;
将所述被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,所述上层设备包括Web服务器或运行自动化测试工具的终端;
若根据所述状态信息确定所述被测iOS设备在线,则接收从所述上层设备传回的针对所述被测iOS设备的测试指令;
将所述测试指令通过所述与被测iOS设备的连接发送至所述被测iOS设备;
向所述上层设备上传所述被测iOS设备执行所述测试指令后返回的操作结果。
2.如权利要求1所述iOS设备测试方法,其特征在于,所述方法还包括:
接收所述被测iOS设备的屏幕截图;
对所述屏幕截图进行优化处理,使得所述被测iOS设备的屏幕实时显示于所述上层设备的显示端。
3.如权利要求2所述iOS设备测试方法,其特征在于,所述接收所述被测iOS设备的屏幕截图,包括:将所述与被测iOS设备的连接优化为与所述被测iOS设备的长连接;调用所述被测iOS设备的私有接口,通过与所述被测iOS设备的长连接连续接收所述被测iOS设备屏幕的压缩截图以获得所述被测iOS设备的截屏图片流,所述被测iOS设备屏幕的压缩截图为对所述被测iOS设备的屏幕截图压缩获得;
所述对所述屏幕截图进行优化处理,使得所述被测iOS设备的屏幕实时显示于所述上层设备的显示端,包括:基于视频编码算法,将所述被测iOS设备的截屏图片流转化为所述被测iOS设备的截屏视频流;将所述被测iOS设备的截屏视频流上传至所述上层设备,以在对所述截屏视频流解码后将所述被测iOS设备的屏幕显示于所述上层设备的显示端。
4.如权利要求3所述iOS设备测试方法,其特征在于,所述基于视频编码算法,将所述被测iOS设备的截屏图片流转化为所述被测iOS设备的截屏视频流,包括:
确定所述被测iOS设备的截屏图片流中非关键图像帧与关键图像帧之间的差别像素;
基于所述视频编码算法,对所述关键图像帧和所述差别像素进行编码压缩,以形成所述被测iOS设备的截屏视频流。
5.如权利要求3所述iOS设备测试方法,其特征在于,所述基于视频编码算法,将所述被测iOS设备的截屏图片流转化为所述被测iOS设备的截屏视频流,包括:
在所述被测iOS设备的截屏图片流为所述RGB格式的图像帧时,将所述RGB格式的图像帧转换为YUV格式的图像帧,以获得多个YUV格式的图像帧;
通过预设编码方法分别对所述多个YUV格式的图像帧进行编码压缩,以形成与所述多个YUV格式的图像帧对应的图像数据包;
根据所述多个图像数据包,生成所述被测iOS设备的截屏视频流。
6.如权利要求2所述iOS设备测试方法,其特征在于,所述接收从所述上层设备传回的针对所述被测iOS设备的测试指令,包括:
将与所述上层设备的连接优化为与所述上层设备的长连接;
通过与所述上层设备的长连接,接收针对所述被测iOS设备的测试指令,所述测试指令为所述上层设备解析用户在所述实时显示的屏幕进行的操作,将所述操作封装后得到。
7.如权利要求1所述iOS设备测试方法,其特征在于,所述将所述测试指令通过所述与被测iOS设备的连接发送至所述被测iOS设备,包括:
将所述与被测iOS设备的连接优化为与所述被测iOS设备的长连接;
调用所述被测iOS设备的私有接口,通过与所述被测iOS设备的长连接将所述测试指令发送至所述被测iOS设备。
8.一种iOS设备测试方法,其特征在于,所述方法包括:
将被测iOS设备的屏幕实时显示于显示端;
解析用户在所述实时显示的屏幕进行的操作,将所述操作封装为针对所述被测iOS设备的测试指令;
向通过模拟集成开发环境与所述被测iOS设备连接的工业控制计算机发送针对所述被测iOS设备的测试指令,以在所述工业控制计算机接收到所述测试指令后通过与所述被测iOS设备的连接发送至所述被测iOS设备;
接收所述工业控制计算机上传的所述被测iOS设备执行所述测试指令后返回的操作结果。
9.一种iOS设备测试方法,其特征在于,所述方法包括:
对被测iOS设备的屏幕进行截图和压缩,得到所述被测iOS设备屏幕的压缩截图;
通过采用模拟集成开发环境建立的与工业控制计算机的连接,将所述被测iOS设备屏幕的压缩截图回传至所述工业控制计算机,以使所述工业控制计算机将所述被测iOS设备屏幕的压缩截图处理成所述被测iOS设备的截屏视频流后上传至上层设备,由所述上层设备对所述截屏视频流解码后将所述被测iOS设备的屏幕实时显示于所述上层设备的显示端;
接收所述工业控制计算机发送的针对所述被测iOS设备的测试指令;
执行所述测试指令;
将执行所述测试指令所得操作结果通过所述与工业控制计算机的连接回传至所述工业控制计算机,以使所述工业控制计算机将所述操作结果上传至所述上层设备,所述上层设备耦合至消息中间件,所述消息中间件接收所述工业控制计算机发布的所述被测iOS设备的状态信息和设备信息。
10.一种iOS设备测试装置,其特征在于,包括:
信息获取模块,用于通过模拟集成开发环境建立的与被测iOS设备的连接,获取所述被测iOS设备的状态信息和设备信息,所述模拟集成开发环境为模拟iOS设备原生集成开发环境获得的集成开发环境;
信息发布模块,用于将所述被测iOS设备的状态信息和设备信息发布至与上层设备耦合的消息中间件,所述上层设备包括Web服务器或运行自动化测试工具的终端;
第一接收模块,用于若根据所述状态信息确定所述被测iOS设备在线,则接收从所述上层设备传回的针对所述被测iOS设备的测试指令;
第一发送模块,用于将所述测试指令通过所述与被测iOS设备的连接发送至所述被测iOS设备;
第一上传模块,用于向所述上层设备上传所述被测iOS设备执行所述测试指令后返回的操作结果。
11.一种iOS设备测试装置,其特征在于,包括:
实时处理模块,用于将被测iOS设备的屏幕实时显示于显示端;
解析模块,用于解析用户在所述实时显示的屏幕进行的操作,将所述操作封装为针对所述被测iOS设备的测试指令;
第二发送模块,用于向通过模拟集成开发环境与所述被测iOS设备连接的工业控制计算机发送针对所述被测iOS设备的测试指令,以在所述工业控制计算机接收到所述测试指令后通过与所述被测iOS设备的连接发送至所述被测iOS设备;
第三接收模块,用于接收所述工业控制计算机上传的所述被测iOS设备执行所述测试指令后返回的操作结果。
12.一种iOS设备测试装置,其特征在于,包括:
截屏处理模块,用于对被测iOS设备的屏幕进行截图和压缩,得到所述被测iOS设备屏幕的压缩截图;
第一回传模块,用于通过采用模拟集成开发环境建立的与工业控制计算机的连接,将所述被测iOS设备屏幕的压缩截图回传至所述工业控制计算机,以使所述工业控制计算机将所述被测iOS设备屏幕的压缩截图处理成所述被测iOS设备的截屏视频流后上传至上层设备,由所述上层设备对所述截屏视频流解码后将所述被测iOS设备的屏幕实时显示于所述上层设备的显示端;
第四接收模块,用于接收所述工业控制计算机发送的针对所述被测iOS设备的测试指令;
指令执行模块,用于执行所述测试指令;
第二回传模块,用于将执行所述测试指令所得操作结果通过所述与工业控制计算机的连接回传至所述工业控制计算机,以使所述工业控制计算机将所述操作结果上传至所述上层设备,所述上层设备耦合至消息中间件,所述消息中间件接收所述工业控制计算机发布的所述被测iOS设备的状态信息和设备信息。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1至9任意一项所述iOS设备测试方法中的步骤。
14.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1至9任意一项所述iOS设备测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056459.3A CN112799891B (zh) | 2021-01-15 | 2021-01-15 | iOS设备测试方法、装置、系统、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056459.3A CN112799891B (zh) | 2021-01-15 | 2021-01-15 | iOS设备测试方法、装置、系统、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799891A true CN112799891A (zh) | 2021-05-14 |
CN112799891B CN112799891B (zh) | 2023-05-09 |
Family
ID=75809736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056459.3A Active CN112799891B (zh) | 2021-01-15 | 2021-01-15 | iOS设备测试方法、装置、系统、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799891B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656276A (zh) * | 2021-08-26 | 2021-11-16 | 深圳市腾讯网络信息技术有限公司 | 一种针对游戏程序的设备性能检测方法和相关装置 |
CN113973207A (zh) * | 2021-10-26 | 2022-01-25 | 上海赛可出行科技服务有限公司 | 一种基于h264码流的ios远程真机web端实时操控回显方法 |
CN115514750A (zh) * | 2021-06-21 | 2022-12-23 | 北京字节跳动网络技术有限公司 | 电子设备远程控制方法、服务器、系统、介质和设备 |
US11860771B1 (en) | 2022-09-26 | 2024-01-02 | Browserstack Limited | Multisession mode in remote device infrastructure |
US11886325B2 (en) * | 2022-06-30 | 2024-01-30 | Browserstack Limited | Network status simulation for remote device infrastructure |
US12041112B2 (en) | 2022-02-01 | 2024-07-16 | Browserstack Limited | Remote device infrastructure |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1315768A (zh) * | 2000-03-31 | 2001-10-03 | 三菱电机株式会社 | 用于无变压器式无功串联补偿器的可调直流电压控制器 |
CN103458087A (zh) * | 2013-08-30 | 2013-12-18 | 华南理工大学 | 一种基于rtmp的远程手机测试体验方法 |
CN106874206A (zh) * | 2017-02-27 | 2017-06-20 | 网易(杭州)网络有限公司 | 用于跨平台自动测试的方法、装置及电子设备 |
CN108282542A (zh) * | 2018-02-13 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 用于测试设备的远程操作方法和装置 |
CN108965457A (zh) * | 2018-08-02 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种分布式集群系统的消息传递方法、装置、设备及介质 |
CN109558450A (zh) * | 2018-10-30 | 2019-04-02 | 中国汽车技术研究中心有限公司 | 一种基于分布式架构的汽车远程监控方法和装置 |
CN109889567A (zh) * | 2018-12-28 | 2019-06-14 | 南京甄视智能科技有限公司 | 支持海量设备接入的物联网平台的实现方法 |
CN111708568A (zh) * | 2020-05-06 | 2020-09-25 | 福建天泉教育科技有限公司 | 一种组件化开发解耦方法及终端 |
CN111767178A (zh) * | 2020-05-20 | 2020-10-13 | 北京奇艺世纪科技有限公司 | 物理机性能测试方法及装置 |
CN111949420A (zh) * | 2020-08-10 | 2020-11-17 | 智业软件股份有限公司 | 一种业务操作流程控制方法、终端设备及存储介质 |
-
2021
- 2021-01-15 CN CN202110056459.3A patent/CN112799891B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1315768A (zh) * | 2000-03-31 | 2001-10-03 | 三菱电机株式会社 | 用于无变压器式无功串联补偿器的可调直流电压控制器 |
CN103458087A (zh) * | 2013-08-30 | 2013-12-18 | 华南理工大学 | 一种基于rtmp的远程手机测试体验方法 |
CN106874206A (zh) * | 2017-02-27 | 2017-06-20 | 网易(杭州)网络有限公司 | 用于跨平台自动测试的方法、装置及电子设备 |
CN108282542A (zh) * | 2018-02-13 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 用于测试设备的远程操作方法和装置 |
CN108965457A (zh) * | 2018-08-02 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种分布式集群系统的消息传递方法、装置、设备及介质 |
CN109558450A (zh) * | 2018-10-30 | 2019-04-02 | 中国汽车技术研究中心有限公司 | 一种基于分布式架构的汽车远程监控方法和装置 |
CN109889567A (zh) * | 2018-12-28 | 2019-06-14 | 南京甄视智能科技有限公司 | 支持海量设备接入的物联网平台的实现方法 |
CN111708568A (zh) * | 2020-05-06 | 2020-09-25 | 福建天泉教育科技有限公司 | 一种组件化开发解耦方法及终端 |
CN111767178A (zh) * | 2020-05-20 | 2020-10-13 | 北京奇艺世纪科技有限公司 | 物理机性能测试方法及装置 |
CN111949420A (zh) * | 2020-08-10 | 2020-11-17 | 智业软件股份有限公司 | 一种业务操作流程控制方法、终端设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514750A (zh) * | 2021-06-21 | 2022-12-23 | 北京字节跳动网络技术有限公司 | 电子设备远程控制方法、服务器、系统、介质和设备 |
CN113656276A (zh) * | 2021-08-26 | 2021-11-16 | 深圳市腾讯网络信息技术有限公司 | 一种针对游戏程序的设备性能检测方法和相关装置 |
CN113656276B (zh) * | 2021-08-26 | 2024-02-09 | 深圳市腾讯网络信息技术有限公司 | 一种针对游戏程序的设备性能检测方法和相关装置 |
CN113973207A (zh) * | 2021-10-26 | 2022-01-25 | 上海赛可出行科技服务有限公司 | 一种基于h264码流的ios远程真机web端实时操控回显方法 |
US12041112B2 (en) | 2022-02-01 | 2024-07-16 | Browserstack Limited | Remote device infrastructure |
US11886325B2 (en) * | 2022-06-30 | 2024-01-30 | Browserstack Limited | Network status simulation for remote device infrastructure |
US11860771B1 (en) | 2022-09-26 | 2024-01-02 | Browserstack Limited | Multisession mode in remote device infrastructure |
Also Published As
Publication number | Publication date |
---|---|
CN112799891B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112799891B (zh) | iOS设备测试方法、装置、系统、存储介质及计算机设备 | |
KR101773638B1 (ko) | 라이트웨이트 클라이언트를 이용해서 네트워크를 거쳐 가상화 컴퓨팅 서비스와 인터페이스하기 위한 방법 | |
WO2019001347A1 (zh) | 移动设备的投屏方法、存储介质、终端及投屏系统 | |
CN108763086A (zh) | 基于远程真机的脚本录制方法、终端及计算机可读存储介质 | |
CN108924538B (zh) | Ar设备的屏幕拓展方法 | |
US20190051147A1 (en) | Remote control method, apparatus, terminal device, and computer readable storage medium | |
CN112596848B (zh) | 一种录屏方法、装置、电子设备、存储介质及程序产品 | |
CN110554831A (zh) | 操作同步方法、装置、设备及存储介质 | |
CN110177300B (zh) | 程序运行状态的监控方法、装置、电子设备和存储介质 | |
CN111444095A (zh) | 移动设备的测试平台系统和测试方法 | |
US20140104183A1 (en) | Method and device for controlling at least one apparatus by at least one other apparatus, system implementing such a device | |
CN109587118B (zh) | Android网游的分布式支持多终端和多网络的系统 | |
CN111475359A (zh) | 多消息交互场景下的系统测试方法、装置和存储介质 | |
CN115756881A (zh) | 基于sdk的数据处理方法、装置、设备、存储介质 | |
CN114040189A (zh) | 多媒体测试方法、装置、存储介质及电子设备 | |
CN114666561B (zh) | 视频融合方法、装置和系统 | |
CN114048087B (zh) | 设备的数据中转性能的测试方法及装置 | |
CN107277592B (zh) | 基于嵌入式平台的多媒体数据播放方法、装置及存储介质 | |
CN110990109A (zh) | 一种拼接屏回显方法、终端、系统及存储介质 | |
CN107168648B (zh) | 文件存储方法、装置及终端 | |
CN114666562A (zh) | 3d场景交互方法、装置和系统 | |
CN114417201A (zh) | 消息处理方法、装置、计算机设备及存储介质 | |
CN114510417A (zh) | 一种图像渲染效果测试方法、装置、电子设备和存储介质 | |
CN108540726B (zh) | 连拍图像的处理方法、装置、存储介质及终端 | |
CN115599335B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |