一种控制截屏的方法及截屏控制装置与流程

文档序号:12363495阅读:488来源:国知局
一种控制截屏的方法及截屏控制装置与流程

本发明涉及互联网技术领域,尤其涉及一种控制截屏的方法及截屏控制装置。



背景技术:

为了方便测试人员能够准确地定位到应用程序的漏洞所在,在用户界面(英文全称:User Interface,英文缩写:UI)自动化测试中可以采用截图机制。通过截图的内容来验证被检测应用程序的正确性。

现有的自动化测试框架中,例如一种开源的苹果移动设备操作系统(英文全称:Apple Operating System,英文缩写:iOS),名为功能性保持(英文全称:Keep It Functional,英文缩写:KIF)框架,是直接嵌入到主程序进程中的一种自动化测试方案,其中,截屏机制是主进程获取到主进程中的可被操作窗口后从而进行截屏操作的。

然而,现有的自动化测试框架都是基于被测试主进程一体的,执行自动化测试时需要与被测试主进程同时运行,当需要对被测试主进程进行截屏时,不能按照测试人员的需求进行截屏,而是对每个操作都进行截屏,最后会得到大量的截图,不但容易因为截屏操作过多而造成死机,而且大量的截图分析还会降低应用程序的检测效率。



技术实现要素:

本发明实施例提供了一种控制截屏的方法及截屏控制装置,以第一进程为载体控制被测试的第二进程进行截屏操作,以此控制多进程运行,测试人员可以根据测试需求在第一进程中发起针对目标对象的截屏指令,便能获取目标对象的截图,不会得到大量无用的截图,从而提升了应用程序的检测效率,也提高移动终端应用程序使用过程中截屏操作的成功率和系统测试有效性。

有鉴于此,本发明第一方面提供一种控制截屏的方法,所述方法应用于截屏控制系统,所述截屏控制系统中包括移动终端以及截屏控制装置,所述截屏控制装置同时运行第一进程与第二进程,所述第一进程用于控制所述第二进程,所述移动终端运行第二进程,所述方法包括:

通过所述第一进程接收截屏操作指令,所述截屏操作指令中携带目标截屏对象标识,所述目标截屏对象标识用于确定进行截屏操作的目标对象;

当所述移动终端运行所述第二进程时,根据所述截屏操作指令对所述目标对象进行截屏;

获取所述目标对象的截屏图像。

本发明第二方面提供了一种截屏控制装置,所述截屏控制装置应用于截屏控制系统,所述截屏控制系统中还包括移动终端,所述截屏控制装置同时运行第一进程与第二进程,所述第一进程用于控制所述第二进程,所述移动终端运行第二进程,所述截屏控制装置包括:

接收模块,用于通过所述第一进程接收截屏操作指令,所述截屏操作指令中携带目标截屏对象标识,所述目标截屏对象标识用于确定进行截屏操作的目标对象;

截屏模块,用于当所述移动终端运行所述第二进程时,根据所述接收模块接收的所述截屏操作指令对所述目标对象进行截屏;

获取模块,用于获取所述截屏模块截屏得到的所述目标对象的截屏图像。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,提供了一种控制截屏的方法,该方法应用于截屏控制装置,截屏控制装置可以同时运行第一进程与第二进程,且第一进程用于控制第二进程,首先截屏控制装置通过第一进程接收截屏操作指令,其中,截屏操作指令中携带了目标截屏对象标识,目标截屏对象标识用于确定进行截屏操作的目标对象,当运行第二进程时,截屏控制装置根据截屏操作指令对目标对象进行截屏,获取目标对象的截屏图像。通过上述方式,以第一进程为载体控制被测试的第二进程进行截屏操作,以此控制多进程运行,测试人员可以根据测试需求在第一进程中发起针对目标对象的截屏指令,便能获取目标对象的截图,不会得到大量无用的截图,从而提升了应用程序的检测效率,也提高移动终端应用程序使用过程中截屏操作的成功率和系统测试有效性。

附图说明

图1为本发明实施例中截屏控制系统的架构图;

图2为本发明实施例中控制截屏的方法一个交互实施例示意图;

图3为本发明实施例中控制截屏的方法一个实施例示意图;

图4为本发明应用场景中控制截屏的一个流程示意图;

图5为本发明实施例中截屏控制装置一个实施例示意图;

图6为本发明实施例中截屏控制装置另一个实施例示意图;

图7为本发明实施例中截屏控制装置另一个实施例示意图;

图8为本发明实施例中截屏控制装置另一个实施例示意图;

图9为本发明实施例中截屏控制装置另一个实施例示意图;

图10为本发明实施例中截屏控制装置另一个实施例示意图;

图11为本发明实施例中截屏控制装置另一个实施例示意图;

图12为本发明实施例中截屏控制装置另一个实施例示意图;

图13为本发明实施例中截屏控制装置一个结构示意图。

具体实施方式

本发明实施例提供了一种控制截屏的方法及截屏控制装置,以第一进程为载体控制被测试的第二进程进行截屏操作,以此控制多进程运行,测试人员可以根据测试需求在第一进程中发起针对目标对象的截屏指令,便能获取目标对象的截图,不会得到大量无用的截图,从而提升了应用程序的检测效率,也提高移动终端应用程序使用过程中截屏操作的成功率和系统测试有效性。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本发明应用于截屏控制系统,请参阅图1,图1为本发明实施例中截屏控制系统的架构图,如图1所示,用户具体可以指专业的测试人员,通过对UI自动化测试中得到的截图,来验证被检测应用程序的正确性。

图1中用于测试应用程序的客户端具体可以是个人电脑(英文全称:Personal Computer,英文缩写:PC)、智能手机、平板电脑或个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)等,本发明以智能手机为例进行介绍,然而并不应构成对本发明方案的限定。

其中,该截屏控制装置的操作系统可以为iOS,然而,在实际应用中,包括但不限于iOS操作系统,具体还可以是安卓系统(英文全称:Android System)、微软操作系统或者黑莓系统(英文全称:Blackberry)等操作系统,本发明以iOS操作系统为例进行介绍,此处不作限定。

本方案需要在截屏控制装置中安装用于对待检测应用程序进行截屏操作的测试工具应用软件,具体为,用户通过触发截屏操作指令,来控制该测试工具应用软件进行截屏。首先,在截屏控制装置中的测试工具应用软件开始运行,其运行内容的为测试进程,需要被测试的应用程序在测试工具应用软件中开始运行,然而,在截屏控制装置的前端只显示被测试应用程序的进程。接下来,由测试进程控制被测试的应用程序进程进行截屏,测试进程中已经被用户输入了需要截取的内容。最后,被测试应用程序的进程运行结束,而此时,测试工具应用软件中的测试进程已经根据用户需要,获取到了截屏图像,并向用户提供该截屏图像。

为了便于理解,请参阅图2,图2为本发明实施例中控制截屏的方法一个交互实施例示意图,如图所示,在截屏控制装置中同时运行第一进程和第二进程,第一进程可以控制第二进程的运行,步骤101与步骤102是同时执行的,这样才能保证第一进程与第二进程同步,并且第一进程运行过程中控制着第二进程的运行。接下来,在步骤103中,第一进程向第二进程发出指令,即发生截屏操作指令,该指令可以指示第二进程在进行那段操作时需要截屏该操作对应的代码,最后在步骤104中,第二进程向第一进程发生截屏图像,也就是截屏的代码,通过第一进程输出该截屏图像,从而用户可以获取待检测应用程序的代码。

下面将从截屏控制装置的角度,对本发明中控制截屏的方法进行介绍,请参阅图3,本发明实施例中控制截屏的方法一个实施例包括:

201、同时运行第一进程与第二进程的截屏控制装置,通过第一进程接收截屏操作指令,截屏操作指令中携带目标截屏对象标识,目标截屏对象标识用于确定进行截屏操作的目标对象,第一进程用于控制第二进程;

本实施例中,在截屏控制装置中安装有测试工具应用软件,该测试工具应用软件的运行第一进程,即运行测试框架进程。此时,在测试工具应用软件中注入了待测试应用程序,使得待测试应用程序与测试工具应用软件同步运行,同时受到测试工具应用软件的控制。待测试应用程序运行的为第二进程,即被测试应用程序进程。

具体地,截屏控制装置中的测试工具应用软件首先响应用户的截屏操作指令,然后根据该截屏操作指令中携带的目标截屏对象标识,来确定出接下来需要被截屏的目标对象。其中,可以通过在截屏操作指令中注入截屏代码来确定用户需要获取的截屏内容。

202、当运行第二进程时,根据截屏操作指令对目标对象进行截屏;

本实施例中,截屏控制装置接收到用户发出的截屏操作指令后,即可进行解析,并得到该截屏操作指令所指示的目标对象,其中,目标对象具体为待检测应用程序的某行或者某段程序代码,这些程序代码用于实现应用程序的某项操作。然后截屏控制装置可以对目标对象进行截屏。

203、获取目标对象的截屏图像。

本实施例中,截屏控制装置在对目标对象进行截屏后,便可以获取到该目标对象的截屏图像,并且通过截屏控制装置展现给用户,以便用户根据截屏图像进行后续处理。

本发明实施例中,提供了一种控制截屏的方法,该方法应用于截屏控制装置,截屏控制装置可以同时运行第一进程与第二进程,且第一进程用于控制第二进程,首先截屏控制装置通过第一进程接收截屏操作指令,其中,截屏操作指令中携带了目标截屏对象标识,目标截屏对象标识用于确定进行截屏操作的目标对象,当运行第二进程时,截屏控制装置根据截屏操作指令对目标对象进行截屏,获取目标对象的截屏图像。通过上述方式,以第一进程为载体控制被测试的第二进程进行截屏操作,以此控制多进程运行,测试人员可以根据测试需求在第一进程中发起针对目标对象的截屏指令,便能获取目标对象的截图,不会得到大量无用的截图,从而提升了应用程序的检测效率,也提高移动终端应用程序使用过程中截屏操作的成功率和系统测试有效性。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的控制截屏的方法第一个可选实施例中,通过第一进程接收截屏操作指令之前,还可以包括:

检测第二进程所监控的目标端口与预设端口是否一致;

若第二进程所监控的目标端口与预设端口一致,则确定第一进程已控制第二进程;

若第二进程所监控的目标端口与预设端口不一致,则继续对目标端口进行监控。

本实施例中,在截屏控制装置通过第一进程接收到用户发起的截屏操作指令之前,还需求确定第二进程已经与第一进程的运行达到同步状态。

具体的,首先在待检测应用程序的第二进程中嵌入服务监听程序,该服务监听程序主要用于监听约定好的目标端口,其中,目标端口为服务监听程序监听的端口,具体还可以是端口号。

接下来判断目标端口是否与约定好的预设端口一致,预设端口具体为截屏控制装置的端口,如果是一致的,说明两者已经进入运行同步状态,并且建立了会话通信连接,此时可以确定第一进程已经控制第二进程的运行。

反之,如果第二进程所监控到的目标端口与截屏控制装置的端口不一致,那么需要在第二进程运行的过程中继续监控目标端口与预设端口是否一致。

可以理解的是,目标端口与预设端口可以逻辑端口,逻辑端口指计算机内部或交换机路由器内的端口,是不可见。例如计算机中的80端口、21端口以及23端口等,此处不对具体端口名或端口号进行限定。

其次,本发明实施例中,截屏控制装置通过第一进程接收截屏操作指令之前,还需要检测第二进程所监控的目标端口是否与预设端口一致,若一致,则确定第一进程已控制第二进程,反之,截屏控制装置则继续对目标端口进行监控。通过上述方式,可以保证第一进程与待检测应用程序的第二进程的运行达到了同步,即可以通过第一进程来控制第二进程的运行,从而获取到第二进程对应的截屏图像,由此提升方案的可行性。

可选地,在上述图3对应的第一个实施例的基础上,本发明实施例提供的控制截屏的方法第二个可选实施例中,确定第一进程已控制第二进程之后,还可以包括:

通过第二进程监控服务消息队列;

当监控到服务消息队列中包含截屏服务事件时,开启截屏操作的功能。

本实施例中,截屏控制装置确定第一进程已成功控制第二进程运行之后,还可以通过第二进程的监控线程来监控服务消息队列,其中,服务消息队列即为一个消息的链表,可以看做是消息的记录,具有特定的格式以及特定的优先级。在服务消息队列中有写权限的进程可以按照一定的规则添加新消息,即注册服务事件,对服务消息队列有读权限的进程则可以从服务消息队列中读走消息。

第二进程在运行时实时监控服务消息队列是否存在截屏服务事件,一旦检测到该事件,就可以开启截屏操作功能。

再次,本发明实施例中,说明了如何开启截屏功能,即在确定第一进程已控制第二进程之后,通过第二进程监控服务消息队列,当监控到服务消息队列中包含截屏服务事件时,开启截屏操作的功能。通过上述方式可以准确地在服务消息队列中获取到截屏服务事件,只有在检测到存在截屏服务事件的情况下才进行截屏,这样就可以避免截屏控制装置没有规律的截取图像,从而提升截取有效图像的效率。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的控制截屏的方法第三个可选实施例中,根据截屏操作指令对目标对象进行截屏,可以包括:

控制第一进程向第二进程传递截屏操作指令;

根据截屏操作指令,通过第二进程对目标对象进行截屏。

本实施例中,截屏控制装置根据截屏操作指令对目标对象进行截屏的具体操作方式,具体为:

截屏控制装置中运行的第一进程接收到用户发送的截屏操作指令,其中,第一进程为第二进程运行的载体,在第一进程成功控制第二进程运行的情况下,便可以将该截屏操作指令传递给第二进程。于是,截屏控制装置中的第二进程在收到截屏操作指令后,根据该指令回调截屏事件函数,便可以对目标对象进行截屏。

回调截屏时事件函数可以采用下列的三种方式进行调用,分别为同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。

回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。

异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知调用客户方的接口。回调和异步调用的关系非常紧密,通常我们使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。

其次,本发明实施例中,截屏控制装置根据截屏操作指令对目标对象进行截屏的方式具体可以是,先控制第一进程向第二进程传递截屏操作指令,然后根据截屏操作指令,通过第二进程对目标对象进行截屏。通过上述方式,为方案的实现提供了一种可行方式,以此增强方案的实用性,并且提高应用程序使用过程中截屏操作的成功率和系统测试有效性。

可选地,在上述图3以及图3对应的第一至第三个实施例中任一项的基础上,本发明实施例提供的控制截屏的方法第四个可选实施例中,根据截屏操作指令对目标对象进行截屏之后,还可以包括:

控制第二进程根据目标对象的截屏图像生成图像报文,图像报文在第二进程中生成;

若第一进程接收到第二进程生成的图像报文,则检测图像报文的有效性;

若第一进程未接收到第二进程生成的图像报文,则通过第二进程继续监听服务消息队列。

本实施例中,截屏控制装置根据截屏操作指令对目标对象进行截屏之后,还可以进一步控制第二进程根据目标对象的截屏图像生成图像报文,图像报文在第二进程中生成。

其中,图像报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。图像报文包含了将要发送的完整的图像数据信息,其报文的长短不一致,长度不限且可变。

第二进程在生成了图像报文后便向第一进程传递该图像报文,当第一进程收到该图像报文时,还需要进一步检测图像报文的有效性,这是可能由于图像报文在传输过程中可能会因为网络质量的好坏丢失信息,从而导致图像报文不完整,为无效报文。有可能是由于图像报文的内容不是第一进程在测试过程中需要的,于是也认为是无效报文。

如果第一进程没有接收到第二进程生成的图像报文,则通过第二进程继续监听服务消息队列,直到获取所需的图像报文。

进一步地,本发明实施例中,截屏控制装置根据截屏操作指令对目标对象进行截屏之后,还可以控制第二进程根据目标对象的截屏图像生成图像报文,若第一进程接收到第二进程生成的图像报文,则检测图像报文的有效性,反之,则通过第二进程继续监听服务消息队列。通过上述方式,可以使得第一进程在输出最后截屏图像的信息是完整的,不会因为图像报文的丢失导致截屏图像中也缺失部分信息,从而提升了方案的实用性。

可选地,在上述图3对应的第四个实施例的基础上,本发明实施例提供的控制截屏的方法第五个可选实施例中,检测图像报文的有效性,可以包括:

判断图像报文是否为有效报文;

若图像报文为有效报文,则解析图像报文;

若图像报文为无效报文,则再次控制第二进程对目标对象进行截屏。

本实施例中,截屏控制装置检测图像报文是否有效的方式具体为,先检查接收到的图像报文是否完整有效,有无丢失的数据,如果图像报文完整则判定为有效报文,于是截屏控制装置控制第一进程进一步地解析该图像报文,以获取到完整准确的截屏图像。

反之,如果检测到图像报文有信息缺失,则认为是无效报文,则这个时候可以再次控制第二进程对目标对象进行截屏,然后得到下一个截屏图像后又进一步生成相应的图像报文,再向第一进程发送新的图像报文,第一进程便继续判断新的图像报文是否为有效报文。

更进一步地,本发明实施例中,说明了如何检测图像报文有效性的方法,即若图像报文为有效报文,则解析图像报文,反之,若图像报文为无效报文,则再次控制第二进程对目标对象进行截屏。通过上述方式,可以使得第一进程获取到完全且准确的截屏图像,对于无效的图像报文而言,将再次获取新的图像报文来代替无效报文,从而提升了方案的可行性。

可选地,在上述图3对应的第五个实施例的基础上,本发明实施例提供的控制截屏的方法第六个可选实施例中,再次控制第二进程对目标对象进行截屏,可以包括:

生成预置格式的截图报文;

控制第一进程向第二进程发送截图报文,截图报文用于指示第二进程对目标对象进行截屏。

本实施例中,提出了如何再次控制第二进程对目标对象进行截屏的方法。

具体为,第一进程开始向第二进程监控的截屏控制装置端口发起会话链接,该会话链接用于提示第二进行再次进行截图。如果会话链接的初始化处理成功,则第一进程会构建并生成预置格式的截图报文,然后向第二进程发送该截图报文,以使得第二进程再次对目标对象进行截屏。

需要说明的是,预置格式具体为超文本传输协议(英文全称:HyperText Transfer Protocol,英文缩写:HTTP)格式,在实际应用中,还可以是其他的格式,例如传输控制协议(英文全称:Transmission Control Protocol,英文缩写:TCP),或者是用户数据报协议(英文全称:User Datagram Protocol,英文缩写:UDP),还可以是其他类型的协议,此处不做限定。

再进一步地,本发明实施例中,截屏控制装置再次控制第二进程对目标对象进行截屏的过程可以是,第一进行生成预置格式的截图报文,然后控制第一进程向第二进程发送截图报文,第二进程根据截图报文再次对目标对象进行截屏。通过上述手段能够为方案的实现提供可行的方式,从而提升方案的可行性。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的控制截屏的方法第七个可选实施例中,获取目标对象的截屏图像之后,还可以包括:

采用预设方式对截屏图像进行处理;

保存处理后的截屏图像。

本实施例中,在截屏控制装置成功获取目标对象的截屏图像之后,可以进一步采用预设方式对该截屏图像进行处理。

具体地,预设方式可以是按照预设某个图像格式对截屏图像进行转换处理,或者按照预设的像素值大小对截屏图像进行处理,又或者是对截屏图像的尺寸大小进行剪裁处理,最后,保存处理后的截屏图像。

其次,本发明实施例中,在截屏控制装置成功获取目标对象的截屏图像之后,可以采用预设方式对该截屏图像进行处理,并且保存处理后的截屏图像。通过上述方式,可以使得最后输出的截屏图像具有相同或者相似的属性,便于后续的调用和查看,避免因为格式或者尺寸等因素的影响,再次调整截屏图像,从而提升方案的使用效率。

为便于理解,下面可以以一个具体应用场景对本发明中控制截屏的过程进行详细描述,请参阅图4,图4为本发明应用场景中控制截屏的一个流程示意图,具体为:

步骤A1中,在手机侧搭建开发环境,配置好UITEST自动化测试框架,由测试框架进程开始运行自动化脚本,并且调用其被检测的应用程序;

步骤B1中,即开启被测试应用程序进程;

步骤B2中,被测试应用程序进程自动打开监控端口,监控指定的手机端口,也就是监控运行测试框架进程的手机所对应的端口;

步骤B3中,被测试应用程序进程继续调用监控事件,即被测试应用程序进程需要启动监控不同事件的功能;

步骤B4中,检测监控的功能是否开启,若是,则进入步骤B5,若否,则进入步骤B3,即再次调用监控功能;

步骤B5中,监控功能建立成功之后,开始在被测试应用程序进程中注册截屏服务事件;

步骤B6中,被测试应用程序进程的监控线程会持续地监控服务消息队列;

步骤B7中,当监控到截屏服务事件后,则被测试应用程序进程判断是否从服务消息队列中获取的消息报文,若是,则进入步骤B8,反之,则进入步骤B6,即继续监控服务消息队列;

步骤B8中,被测试应用程序进程获取到消息报文后,开始处理消息报文对应的消息事件;

步骤B9中,被测试应用程序进程回调截屏事件函数,开始进行截屏,当截屏结束后,返回截屏图像;

步骤B10中,被测试应用程序进程构建待图像的结果报文,结果报文用于确定已获取截屏图像;

步骤B11中,被测试应用程序进程再将步骤B10中构建的结果报文回传给测试框架进程,使得测试框架进程在步骤A7中确定截图结果;

步骤B12中,被测试应用程序进程关闭本次与测试框架进程的连接服务。

由于被测试应用程序进程是嵌套在测试框架进程中进行的,对应测试框架进程而言需要执行如下步骤来同步被测试应用程序进程,具体为:

步骤A2中,在测试框架进程执行自动化脚本后,执行回调函数,同时也在这个步骤中接收到用户发送的截屏操作指令;

步骤A3中,测试框架进程初始化会话通信链接,也就是重新开始创建一个会话用于进行截屏;

步骤A4中,判断会话通信链接是否建立成功,如果成功,则进入步骤A5,若失败,则进入步骤A3,即再次进行初始化会话通信链接;

步骤A5中,测试框架进程获取被测试应用程序的监控地址,以实时监控被测试应用程序进程的运行情况;

步骤A6中,测试框架进程构建http形式的截图报文,进而通过监控端口向被测试应用程序进程发送该截图报文;

步骤A7中,被测试应用程序进程在步骤B11中将结果报文回传给测试框架进程,于是测试框架进程获取到结果报文;

步骤A8中,测试框架进程检测结果报文是否获取成功;若成功,则进入步骤A9,如果失败,则进入步骤A6,即再次构建截图报文,然后向被测试应用程序进程发送该报文,以再次得到结果报文并进行检测;

步骤A9中,测试框架进程解析结果报文,从而获取到结果报文中的图像信息,并返回截屏图像;

步骤A10中,将截屏图像压入图像处理缓存通道中;

步骤A11中,可以在图像处理缓存通道中对截屏图像进行集中处理,包括图像格式处理,像素处理,调整大小等;

步骤A12中,测试框架进程保存经过处理后的图像。

下面对本发明中的截屏控制装置进行详细描述,请参阅图5,本发明实施例中的截屏控制装置同时运行第一进程与第二进程,第一进程用于控制第二进程,截屏控制装置包括:

接收模块301,用于通过所述第一进程接收截屏操作指令,所述截屏操作指令中携带目标截屏对象标识,所述目标截屏对象标识用于确定进行截屏操作的目标对象;

截屏模块302,用于当运行所述第二进程时,根据所述接收模块301接收的所述截屏操作指令对所述目标对象进行截屏;

获取模块303,用于获取所述截屏模块302截屏得到的所述目标对象的截屏图像。

本实施例中,截屏控制装置同时运行第一进程与第二进程,第一进程用于控制第二进程,截屏控制装置中的接收模块301通过所述第一进程接收截屏操作指令,所述截屏操作指令中携带目标截屏对象标识,所述目标截屏对象标识用于确定进行截屏操作的目标对象,当运行所述第二进程时,截屏模块302根据所述接收模块301接收的所述截屏操作指令对所述目标对象进行截屏,获取模块303获取所述截屏模块302截屏得到的所述目标对象的截屏图像。

本发明实施例中,提供了一种控制截屏的方法,该方法应用于截屏控制装置,截屏控制装置可以同时运行第一进程与第二进程,且第一进程用于控制第二进程,首先截屏控制装置通过第一进程接收截屏操作指令,其中,截屏操作指令中携带了目标截屏对象标识,目标截屏对象标识用于确定进行截屏操作的目标对象,当运行第二进程时,截屏控制装置根据截屏操作指令对目标对象进行截屏,获取目标对象的截屏图像。通过上述方式,以第一进程为载体控制被测试的第二进程进行截屏操作,以此控制多进程运行,测试人员可以根据测试需求在第一进程中发起针对目标对象的截屏指令,便能获取目标对象的截图,不会得到大量无用的截图,从而提升了应用程序的检测效率,也提高移动终端应用程序使用过程中截屏操作的成功率和系统测试有效性。

可选地,在上述图5所对应的实施例的基础上,请参阅图6,本发明实施例提供的截屏控制装置的另一实施例中,

所述截屏控制装置30还包括:

第一检测模块304,用于所述接收模块301通过所述第一进程接收截屏操作指令之前,检测所述第二进程所监控的目标端口与预设端口是否一致;

确定模块305,用于若所述第一检测模块304检测得到所述第二进程所监控的目标端口与所述预设端口一致,则确定所述第一进程已控制所述第二进程;

第一监控模块306,用于若所述第一检测模块304检测得到所述第二进程所监控的目标端口与所述预设端口不一致,则继续对所述目标端口进行监控。

其次,本发明实施例中,截屏控制装置通过第一进程接收截屏操作指令之前,还需要检测第二进程所监控的目标端口是否与预设端口一致,若一致,则确定第一进程已控制第二进程,反之,截屏控制装置则继续对目标端口进行监控。通过上述方式,可以保证第一进程与待检测应用程序的第二进程的运行达到了同步,即可以通过第一进程来控制第二进程的运行,从而获取到第二进程对应的截屏图像,由此提升方案的可行性。

可选地,在上述图6所对应的实施例的基础上,请参阅图7,本发明实施例提供的截屏控制装置的另一实施例中,

所述截屏控制装置30还包括:

第二监控模块307,用于所述确定模块305确定所述第一进程已控制所述第二进程之后,通过所述第二进程监控服务消息队列;

开启模块308,用于当所述第二监控模块307监控到所述服务消息队列中包含截屏服务事件时,开启所述截屏操作的功能。

再次,本发明实施例中,说明了如何开启截屏功能,即在确定第一进程已控制第二进程之后,通过第二进程监控服务消息队列,当监控到服务消息队列中包含截屏服务事件时,开启截屏操作的功能。通过上述方式可以准确地在服务消息队列中获取到截屏服务事件,只有在检测到存在截屏服务事件的情况下才进行截屏,这样就可以避免截屏控制装置没有规律的截取图像,从而提升截取有效图像的效率。

可选地,在上述图5所对应的实施例的基础上,请参阅图8,本发明实施例提供的截屏控制装置的另一实施例中,

所述截屏模块302包括:

传递单元3021,用于控制所述第一进程向所述第二进程传递所述截屏操作指令;

第一截屏单元3022,用于根据所述传递单元3021传递的所述截屏操作指令,通过所述第二进程对所述目标对象进行截屏。

其次,本发明实施例中,截屏控制装置根据截屏操作指令对目标对象进行截屏的方式具体可以是,先控制第一进程向第二进程传递截屏操作指令,然后根据截屏操作指令,通过第二进程对目标对象进行截屏。通过上述方式,为方案的实现提供了一种可行方式,以此增强方案的实用性,并且提高应用程序使用过程中截屏操作的成功率和系统测试有效性。

可选地,在上述图5至图8所对应的任一项实施例的基础上,请参阅图9,本发明实施例提供的截屏控制装置的另一实施例中,

所述截屏控制装置30还包括:

生成模块309,用于所述截屏模块302根据所述截屏操作指令对所述目标对象进行截屏之后,控制所述第二进程根据所述目标对象的截屏图像生成图像报文,所述图像报文在所述第二进程中生成;

第二检测模块310A,用于若所述第一进程接收到所述生成模块309生成的所述第二进程生成的所述图像报文,则检测所述图像报文的有效性;

监听模块310B,用于若所述第一进程未接收到所述生成模块309生成的所述第二进程生成的所述图像报文,则通过所述第二进程继续监听所述服务消息队列。

进一步地,本发明实施例中,截屏控制装置根据截屏操作指令对目标对象进行截屏之后,还可以控制第二进程根据目标对象的截屏图像生成图像报文,若第一进程接收到第二进程生成的图像报文,则检测图像报文的有效性,反之,则通过第二进程继续监听服务消息队列。通过上述方式,可以使得第一进程在输出最后截屏图像的信息是完整的,不会因为图像报文的丢失导致截屏图像中也缺失部分信息,从而提升了方案的实用性。

可选地,在上述图9所对应的实施例的基础上,请参阅图10,本发明实施例提供的截屏控制装置的另一实施例中,

所述第二检测模块310A包括:

判断单元310A1,用于判断所述图像报文是否为有效报文;

解析单元310A2,用于若所述判断单元310A1判断得到所述图像报文为有效报文,则解析所述图像报文;

第二截屏单元310A3,用于若所述判断单元310A1判断得到所述图像报文为无效报文,则再次控制所述第二进程对所述目标对象进行截屏。

更进一步地,本发明实施例中,说明了如何检测图像报文有效性的方法,即若图像报文为有效报文,则解析图像报文,反之,若图像报文为无效报文,则再次控制第二进程对目标对象进行截屏。通过上述方式,可以使得第一进程获取到完全且准确的截屏图像,对于无效的图像报文而言,将再次获取新的图像报文来代替无效报文,从而提升了方案的可行性。

可选地,在上述图10所对应的实施例的基础上,请参阅图11,本发明实施例提供的截屏控制装置的另一实施例中,

所述第二截屏单元310A3包括:

生成子单元310A31,用于生成预置格式的截图报文;

发送子单元310A32,用于控制所述第一进程向所述第二进程发送所述生成子单元生成的所述截图报文,所述截图报文用于指示所述第二进程对所述目标对象进行截屏。

再进一步地,本发明实施例中,截屏控制装置再次控制第二进程对目标对象进行截屏的过程可以是,第一进行生成预置格式的截图报文,然后控制第一进程向第二进程发送截图报文,第二进程根据截图报文再次对目标对象进行截屏。通过上述手段能够为方案的实现提供可行的方式,从而提升方案的可行性。

可选地,在上述图5所对应的实施例的基础上,请参阅图12,本发明实施例提供的截屏控制装置的另一实施例中,

所述截屏控制装置30还包括:

处理模块310C,用于所述获取模块303获取所述目标对象的截屏图像之后,采用预设方式对所述截屏图像进行处理;

保存模块310D,用于保存所述处理模块310C处理后的所述截屏图像。

其次,本发明实施例中,在截屏控制装置成功获取目标对象的截屏图像之后,可以采用预设方式对该截屏图像进行处理,并且保存处理后的截屏图像。通过上述方式,可以使得最后输出的截屏图像具有相同或者相似的属性,便于后续的调用和查看,避免因为格式或者尺寸等因素的影响,再次调整截屏图像,从而提升方案的使用效率。

本发明实施例还提供了另一种截屏控制装置,如图13所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括PC、手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为智能手机为例:

图13示出的是与本发明实施例提供的终端相关的智能手机的部分结构的框图。参考图13,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路410、存储器420、输入单元430、显示单元440、传感器450、音频电路460、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块470、处理器480、以及电源490等部件。本领域技术人员可以理解,图13中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图13对智能手机的各个构成部件进行具体的介绍:

RF电路410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器480处理;另外,将设计上行的数据发送给基站。通常,RF电路410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:Low Noise Amplifier,英文缩写:LNA)、双工器等。此外,RF电路410还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobile communication,英文缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,GPRS)、码分多址(英文全称:Code Division Multiple Access,英文缩写:CDMA)、宽带码分多址(英文全称:Wideband Code Division Multiple Access,英文缩写:WCDMA)、长期演进(英文全称:Long Term Evolution,英文缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,SMS)等。

存储器420可用于存储软件程序以及模块,处理器480通过运行存储在存储器420的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元430可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元430可包括触控面板431以及其他输入设备432。触控面板431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板431上或在触控面板431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器480,并能接收处理器480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板431。除了触控面板431,输入单元430还可以包括其他输入设备432。具体地,其他输入设备432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元440可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元440可包括显示面板441,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板441。进一步的,触控面板431可覆盖显示面板441,当触控面板431检测到在其上或附近的触摸操作后,传送给处理器480以确定触摸事件的类型,随后处理器480根据触摸事件的类型在显示面板441上提供相应的视觉输出。虽然在图13中,触控面板431与显示面板441是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板431与显示面板441集成而实现智能手机的输入和输出功能。

智能手机还可包括至少一种传感器450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板441的亮度,接近传感器可在智能手机移动到耳边时,关闭显示面板441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路460、扬声器461,传声器462可提供用户与智能手机之间的音频接口。音频电路460可将接收到的音频数据转换后的电信号,传输到扬声器461,由扬声器461转换为声音信号输出;另一方面,传声器462将收集的声音信号转换为电信号,由音频电路460接收后转换为音频数据,再将音频数据输出处理器480处理后,经RF电路410以发送给比如另一智能手机,或者将音频数据输出至存储器420以便进一步处理。

WiFi属于短距离无线传输技术,智能手机通过WiFi模块470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块470,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器480是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器480可包括一个或多个处理单元;优选的,处理器480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器480中。

智能手机还包括给各个部件供电的电源490(比如电池),优选的,电源可以通过电源管理系统与处理器480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器480还具有以下功能:

通过所述第一进程接收截屏操作指令,所述截屏操作指令中携带目标截屏对象标识,所述目标截屏对象标识用于确定进行截屏操作的目标对象;

当运行所述第二进程时,根据所述截屏操作指令对所述目标对象进行截屏;

获取所述目标对象的截屏图像。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-Only Memory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1