CN106354606A - 应用程序异常处理方法及装置 - Google Patents
应用程序异常处理方法及装置 Download PDFInfo
- Publication number
- CN106354606A CN106354606A CN201610834345.6A CN201610834345A CN106354606A CN 106354606 A CN106354606 A CN 106354606A CN 201610834345 A CN201610834345 A CN 201610834345A CN 106354606 A CN106354606 A CN 106354606A
- Authority
- CN
- China
- Prior art keywords
- level windows
- image
- control instruction
- tested
- multiple image
- 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
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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用程序异常处理方法及装置。其中,该方法包括:确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;对顶层窗口内连续播放的多帧图像进行采集,其中,多帧图像用于对运行待测试应用程序的过程中发生的异常进行检测与分析。本发明解决了相关技术中所采用的应用程序异常运行的监控方案易消耗较多的终端硬件资源,监控效率较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种应用程序异常处理方法及装置。
背景技术
在相关技术的应用程序测试(特别是游戏测试)工作过程中,常用的对游戏客户端运行过程中存在的缺陷及错误进行记录与反馈的具体过程如下:
第一步、配置测试环境,启动游戏,执行测试用例;
第二步、发现游戏系统中存在的缺陷,错误等(即Bug)后,截图或者拍照,同时保存程序输出的日志(Log),再反馈给研发人员;
第三步、最后等待研发人员对Bug进行修正后再做进一步地验证;
其中,发现Bug并将其反馈至研发人员是至关重要的环节,需要测试人员在发现Bug后及时记录,并通过特定方式反馈给研发人员;记录的方式可以采用截屏、拍照等方式来丰富记录内容;反馈的方式则可以包括面谈,通过即时通讯工具发送文字和/或图片并进行文字描述,发送邮件(附件可选择图片)等,在缺陷管理平台上登记此Bug。
然而,对于游戏这类复杂程度较高的系统,在特定情况下,一个Bug偶然出现一次后却难以再次出现,此时对于Bug出现后的及时记录便显得尤为重要;而在另外情况下,一个Bug出现的前置条件较多,即通过一系列操作才能导致此Bug产生,而此时则需要在反馈的过程中采用更加有效的方式将异常情况反馈给研发人员。
由此可见,相关技术中所提供的记录与反馈Bug的主要缺陷在于:
(1)对于Bug出现前置条件较复杂的情况而言,截图只能记录Bug出现时的实际表现,但却无法记录Bug出现前发生过的操作,这样,在反馈Bug的时候只能通过文字或者口头进行描述,测试人员可能记忆不准确,研发人员也可能理解错误,由此导致沟通的效率较低。
(2)对于难以再现的Bug而言,此种方案也无法在Bug出现的时候记录其再现过程,只能通过不断反复操作来尝试对Bug进行再现,从而浪费了测试人员大量的时间,而且反馈给研发人员时也所能够提供的信息量也较少。
为了改进上述方案,对于出现前置条件较复杂的Bug或者Bug表现为一段时间的动画而言,目前,可使用视频录屏软件来进行屏幕录制,其常见的流程如下:
第一步、运行游戏客户端;
第二步、运行具有屏幕录制功能的应用程序,将录制窗口对准游戏窗口,并开始录屏;
第三步、操作游戏使其产生Bug;
第四步、停止录屏,将录制的视频反馈给研发人员。
然而,此种改进方案仍然存在如下缺陷:
(1)在发现Bug后,需要在运行具有屏幕录制功能的应用程序之后,再执行一次Bug出现流程,易导致无效的重复操作。
(2)如果长期运行具有屏幕录制功能的应用程序,会占用较多计算机的硬件资源,例如:中央处理器(CPU)的占用率、硬盘的使用率,同时录屏应用程序界面还会影响正常的游戏操作。
(3)如果具有屏幕录制功能的应用程序无法保持长期运行,则难以记录偶然出现的且难以再现的Bug,因此,此种方案无法记录难以出现的Bug,适用条件具有一定的局限性。
(4)录制的视频无法使用即时通讯工具实时观看,只能将录制的视频传送到对端后,在对端本地进行观看,而无法在即时通讯工具中的多人聊天页面中播放,由此不便于反馈给多人。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序异常处理方法及装置,以至少解决相关技术中所采用的应用程序异常运行的监控方案易消耗较多的终端硬件资源,监控效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序异常处理方法,包括:
确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;对顶层窗口内连续播放的多帧图像进行采集,其中,多帧图像用于对运行待测试应用程序的过程中发生的异常进行检测与分析。
可选地,确定顶层窗口为运行待测试应用程序触发的显示窗口的方式包括以下至少之一:根据顶层窗口的名称确定顶层窗口为运行待测试应用程序触发的显示窗口;根据顶层窗口的类名确定顶层窗口为运行待测试应用程序触发的显示窗口;根据顶层窗口的尺寸确定顶层窗口为运行待测试应用程序触发的显示窗口。
可选地,对顶层窗口内连续播放的多帧图像进行采集包括:采集步骤,在运行待测试应用程序的时间进度上按照预设时间间隔采集每帧图像,其中,预设时间间隔是由多帧图像对应的帧率确定的;判断步骤,判断当前采集的图像帧数是否大于预设阈值,如果否,则返回采集步骤;如果是,则执行更新步骤;更新步骤,将按照预设阈值最早采集的一帧或多帧图像进行删除,并保留当前最新采集到的一帧或多帧图像,返回采集步骤。
可选地,按照预设时间间隔采集每帧图像包括:当每次到达图像采集时刻时,获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;根据尺寸信息和位置信息采集与图像采集时刻对应的位于顶层窗口内的图像。
可选地,按照预设时间间隔采集每帧图像包括:当每次到达图像采集时刻时,采集与图像采集时刻对应的位于终端屏幕内的图像;获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;根据尺寸信息和位置信息从位于终端屏幕内的图像中截取出位于顶层窗口内的图像。
可选地,在对顶层窗口内连续播放的多帧图像进行采集之后,还包括以下至少之一:接收第一控制指令,并按照第一控制指令将多帧图像转换为预设格式的视频文件;接收第二控制指令,并按照第二控制指令将采集多帧图像时选用的第一图片格式转换为第二图片格式;接收第三控制指令,并按照第三控制指令将多帧图像持久性存储于预设存储空间;接收第四控制指令,并按照第四控制指令查找多帧图像的当前存储位置。
根据本发明实施例的另一方面,还提供了一种应用程序异常处理装置,包括:
确定模块,用于确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;采集模块,用于对顶层窗口内连续播放的多帧图像进行采集,其中,多帧图像用于对运行待测试应用程序的过程中发生的异常进行检测与分析。
可选地,确定模块,用于根据顶层窗口的名称确定顶层窗口为运行待测试应用程序触发的显示窗口;和/或,根据顶层窗口的类名确定顶层窗口为运行待测试应用程序触发的显示窗口;和/或,根据顶层窗口的尺寸确定顶层窗口为运行待测试应用程序触发的显示窗口。
可选地,采集模块包括:采集单元,用于在运行待测试应用程序的时间进度上按照预设时间间隔采集每帧图像,其中,预设时间间隔是由多帧图像对应的帧率确定的;判断单元,用于判断当前采集的图像帧数是否大于预设阈值,如果否,则返回采集单元;如果是,则转到更新单元;更新单元,用于将按照预设阈值最早采集的一帧或多帧图像进行删除,并保留当前最新采集到的一帧或多帧图像,返回采集单元。
可选地,采集单元包括:获取子单元,用于当每次到达图像采集时刻时,获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;采集子单元,用于根据尺寸信息和位置信息采集与图像采集时刻对应的位于顶层窗口内的图像。
可选地,采集单元包括:采集子单元,用于当每次到达图像采集时刻时,采集与图像采集时刻对应的位于终端屏幕内的图像;获取子单元,用于获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;处理子单元,用于根据尺寸信息和位置信息从位于终端屏幕内的图像中截取出位于顶层窗口内的图像。
可选地,上述装置还包括:处理模块,用于接收第一控制指令,并按照第一控制指令将多帧图像转换为预设格式的视频文件;和/或,接收第二控制指令,并按照第二控制指令将采集多帧图像时选用的第一图片格式转换为第二图片格式;和/或,接收第三控制指令,并按照第三控制指令将多帧图像持久性存储于预设存储空间;和/或,接收第四控制指令,并按照第四控制指令查找多帧图像的当前存储位置。
在本发明实施例中,采用确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口并对顶层窗口内连续播放的多帧图像进行采集的方式,通过采集到的多帧图像对运行待测试应用程序的过程中发生的异常进行检测与分析,达到了只有在确定顶层窗口为运行待测试应用程序触发的显示窗口时,才会占用终端的硬件资源,而且通过持续采集多帧图像还可以实时记录最新发生的程序运行异常的目的,从而实现了节省终端硬件资源,提高监控效率的技术效果,进而解决了相关技术中所采用的应用程序异常运行的监控方案易消耗较多的终端硬件资源,监控效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的应用程序异常处理方法的流程图;
图2是根据本发明实施例的应用程序异常处理装置的结构框图;
图3是根据本发明优选实施例的应用程序异常处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种应用程序异常处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的应用程序异常处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;
步骤S14,对顶层窗口内连续播放的多帧图像进行采集,其中,多帧图像用于对运行待测试应用程序的过程中发生的异常进行检测与分析。
通过上述步骤,可以采用确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口并对顶层窗口内连续播放的多帧图像进行采集的方式,通过采集到的多帧图像对运行待测试应用程序的过程中发生的异常进行检测与分析,达到了只有在确定顶层窗口为运行待测试应用程序触发的显示窗口时,才会占用终端的硬件资源,而且通过持续采集多帧图像还可以实时记录最新发生的程序运行异常的目的,从而实现了节省终端硬件资源,提高监控效率的技术效果,进而解决了相关技术中所采用的应用程序异常运行的监控方案易消耗较多的终端硬件资源,监控效率较低的技术问题。
上述用于对应用程序运行异常进行检测与分析的监控程序可以在终端开机启动后自动在后台运行或者在终端正常启动运行完毕进入桌面后再开始运行,无界面显示,从而实现仅需一次启动便可在后台持续执行,无需每次启动应用程序时再启动上述监控程序,而且对测试过程无任何负面影响。终端的使用人员在测试过程也不会受到该监控程序干扰。然后测试人员在对游戏的测试环境进行配置后,开始执行应用程序运行测试。此外,监控程序在未进行应用程序运行测试时处于等待状态,仅消耗较少的终端硬件资源。
可选地,在步骤S12中,确定顶层窗口为运行待测试应用程序触发的显示窗口的方式包括以下至少之一:
方式一、根据顶层窗口的名称确定顶层窗口为运行待测试应用程序触发的显示窗口,例如:可使用python的pywin32库来获取窗口的名称,如果窗口的名称中包含特定关键词即可确定其为游戏窗口;
方式二、根据顶层窗口的类名确定顶层窗口为运行待测试应用程序触发的显示窗口,例如:可使用python的ctypes库来获取窗口的类名;
方式三、根据顶层窗口的尺寸确定顶层窗口为运行待测试应用程序触发的显示窗口,例如:可使用python的pywin32库来获取窗口的尺寸。
监控程序在后台获取当前终端的显示屏幕内最顶层的窗口标识信息(包括但不限于上述窗口的名称、窗口的类名、窗口的尺寸),然后根据窗口标识信息来判断该窗口是否为游戏窗口,游戏窗口的相关标识信息可以在监控程序的配置文件中进行修改。如果确定顶层窗口不是游戏窗口,则判定为使用人员目前尚未执行游戏测试,为了节省CPU资源,监控程序处于等待状态。
可选地,在步骤S14中,对顶层窗口内连续播放的多帧图像进行采集可以包括以下执行步骤:
步骤S141,在运行待测试应用程序的时间进度上按照预设时间间隔采集每帧图像,其中,预设时间间隔是由多帧图像对应的帧率确定的;
步骤S142,判断当前采集的图像帧数是否大于预设阈值,如果否,则返回步骤S141;如果是,则执行步骤S143;
步骤S143,将按照预设阈值最早采集的一帧或多帧图像进行删除,并保留当前最新采集到的一帧或多帧图像,返回步骤S141。
通过后台启动监控程序,对游戏测试过程进行实时监控与反馈,然后不断进行截图和保存操作,由此能够及时地记录难以再现的Bug,同时还能够高效地进行Bug反馈。
对于截图后存储的图片格式,通常选取压缩率较高的格式,例如:jpg,这样能够节省图片存储所占用的硬盘空间。更为重要的是,在通常情况下,最近一段时间内的游戏过程已包含有大量的有效信息,而先前存储并转化的视频文件对Bug产生的影响相对较小,这样只要存储最近的N张图片即可满足测试需求,其中,N为正整数,N可以依据需要存储并转化的视频文件的大小(即视频的时间长短)来确定,即如果需要存储时间更久的游戏视频影像,则可以在硬盘空间容量充裕的情况下,调高N的取值,这样当存储的图片数量超过N时,可以将最早存储的一张或多张图片删除,再存储最新截屏得到的图片,从而使得存储的图片数目始终为N张,也不会因存储并转化的视频文件过大而造成硬盘空间不足。
在每次采集完毕一帧图像后,监控程序会在后台等待一段较短时间,然后再采集下一帧图像,以达到后台持续对游戏进行监控的效果。而对于等待的时间长度,需要根据实际情况进行权衡,如果等待时间过短,易造成CPU占有率过高,而如果等待时间过长,那么每秒钟保存的图片数量过少,易导致最后转化的视频文件的帧率过低,回放效果较差。对于游戏视频而言,视频文件的帧率在10帧左右即可满足回放需求,因而,上述等待时间可设置为0.1秒左右。
在测试人员进行游戏测试的过程中,即监控程序持续存储图片的过程中,如果测试人员认为需要对最近一段时间的游戏过程进行存储,例如:已经发现Bug,尤其是难以判断由何种操作导致此Bug发生时,可以选择视频存储操作。
通过对游戏窗口的实时截图与保存,能够记录Bug出现前一段时间内的画面与操作,尤其是对于难以再现的Bug,有助于更好地记录Bug产生的前提条件。另外,通过上述多帧图像的保存与图片删除操作相结合,实现了仅占用一定硬盘空间即可保留最近一段时间的游戏画面信息。
可选地,在步骤S141中,按照预设时间间隔采集每帧图像可以包括以下执行步骤:
步骤S1411,当每次到达图像采集时刻时,获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;
步骤S1412,根据尺寸信息和位置信息采集与图像采集时刻对应的位于顶层窗口内的图像。
当确定顶层窗口为游戏窗口时,可以认定测试人员当前在对游戏运行过程进行测试,需要对游戏窗口中显示的图像进行存储。为了保存视频文件,可以采用先存储单张图片然后再连续播放形成视频文件的方式进行。由此,便需要对游戏窗口进行截屏并存储为图片格式。在优选实施过程中,可以根据游戏窗口的尺寸信息以及游戏窗口在终端屏幕内的位置信息直接对游戏窗口进行截图,例如:使用python的PIL库。
可选地,在步骤S141中,按照预设时间间隔采集每帧图像可以包括以下执行步骤:
步骤S1413,当每次到达图像采集时刻时,采集与图像采集时刻对应的位于终端屏幕内的图像;
步骤S1414,获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;
步骤S1415,根据尺寸信息和位置信息从位于终端屏幕内的图像中截取出位于顶层窗口内的图像。
在优选实施过程中,除了可以根据游戏窗口的尺寸信息以及游戏窗口在终端屏幕内的位置信息直接对游戏窗口进行截图之外,还可以对终端的显示桌面进行截图,再根据游戏窗口的尺寸和显示位置进行裁剪,例如:使用QT。
可选地,在步骤S14,对顶层窗口内连续播放的多帧图像进行采集之后,还可以包括以下执行步骤至少之一:
步骤S15,接收第一控制指令,并按照第一控制指令将多帧图像转换为预设格式的视频文件;
步骤S16,接收第二控制指令,并按照第二控制指令将采集多帧图像时选用的第一图片格式转换为第二图片格式;
步骤S17,接收第三控制指令,并按照第三控制指令将多帧图像持久性存储于预设存储空间;
步骤S18,接收第四控制指令,并按照第四控制指令查找多帧图像的当前存储位置。
当需要执行视频存储操作时,由于监控程序不具备交互界面,因此,只能采用快捷键的形式向后台发送指令。在优选实施例中,可以使用python的pyHook库实现监听按键事件,当测试人员按下预设快捷键时,后台便可以执行相应的操作,同时依靠声音来通知操作结果,其具体操作可以包括但不限于以下至少之一:
(1)响应测试人员按下的预设快捷键,接收第一控制指令,执行存储为视频文件的操作,可以使用FFmpeg程序将图片转换为视频文件,需要预先设置转换成视频的默认图片个数N,然后再根据图片创建时间(例如:可由python的os库获取)来选择距离当前时刻最近的N张图片进行转换。
(2)响应测试人员按下的预设快捷键,接收第二控制指令,执行存储为GIF格式的操作,上述存储的图片除了转换成视频格式之外,还可以选择转换成GIF格式,由于GIF格式具有轻量特性,即GIF格式图片的大小通常要小于其他格式(例如:JPG格式)图片的大小,可以在即时通讯工具中直接发送,因此,其作为一种位图图形文件格式,通过存储多幅彩色图像可以进一步构成简单的动画,便于在即时通讯工具中直接显示,以实现实时向多人进行反馈。
需要说明的是,大多数即时通讯工具会限制GIF格式图片的尺寸,因此,在转换过程中可以将尺寸以及动画长度进行缩放,使其最终尺寸满足即时通讯工具的限制。
(3)响应测试人员按下的预设快捷键,接收第三控制指令,执行存储图片集合的操作,尽管动态影像更容易描述游戏在执行过程中的具体表现,但对于研发人员而言,在特定时间段内的单独静态影像序列更容易帮助其定位游戏过程中所产生的异常问题。此时,可以将当前存储的图片集合单独保存到本地的指定文件夹内,并且保存到本地的指定文件夹内的图片集合不会自动删除,而需要测试人员或研发人员根据硬盘容量和图片重要程度决定是否进行删除,或者设置第三方存储服务器,当获取到存储图片集合指令时,将图片集合直接发送至第三方存储服务器上进行存储备份。
(4)响应测试人员按下的预设快捷键,接收第四控制指令,执行打开文件夹的操作,为了便于在图片或图片集合存储后,尽快找到存储位置,可以采用快捷键操作直接打开刚才保存的图片或图片集合所在的文件夹,从而更加便捷地进行Bug反馈。
由于上述保存操作需要占用终端的硬件资源,所以在保存过程中,对于上述多帧图像的持续截屏工作可以暂时停止,待保存结束后再继续执行,同时还可以提供特殊音效表示转换成功或者失败。
在上述采集过程以及转化过程执行完毕后,测试人员需要将相关Bug信息反馈给相应的研发人员,对于存储的视频文件而言,可以直接通过邮件或者即时通讯工具的形式发送给对应的研发人员,也可请研发人员亲自过来观看。对于GIF格式图片而言,可以直接通过即时通讯工具发送给对方,以便对方实时查看图片内容而无需下载;更为重要的是,GIF格式的图片还可以发送至即时通讯工具的群聊中,以便于多人实时查看图片内容并进行实时交流。最后,保存的图片集合可供研发人员进行分析,亦可通过即时聊天工具发送多张图片进行对比。
根据本发明实施例,还提供了一种应用程序异常处理装置的实施例,图2是根据本发明实施例的应用程序异常处理装置的结构框图,如图2所示,该装置包括:确定模块10,用于确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;采集模块20,用于对顶层窗口内连续播放的多帧图像进行采集,其中,多帧图像用于对运行待测试应用程序的过程中发生的异常进行检测与分析。
可选地,确定模块10,用于根据顶层窗口的名称确定顶层窗口为运行待测试应用程序触发的显示窗口;和/或,根据顶层窗口的类名确定顶层窗口为运行待测试应用程序触发的显示窗口;和/或,根据顶层窗口的尺寸确定顶层窗口为运行待测试应用程序触发的显示窗口。
可选地,图3是根据本发明优选实施例的应用程序异常处理装置的结构框图,如图3所示,采集模块20可以包括:采集单元200,用于在运行待测试应用程序的时间进度上按照预设时间间隔采集每帧图像,其中,预设时间间隔是由多帧图像对应的帧率确定的;判断单元202,用于判断当前采集的图像帧数是否大于预设阈值,如果否,则返回采集单元;如果是,则转到更新单元;更新单元204,用于将按照预设阈值最早采集的一帧或多帧图像进行删除,并保留当前最新采集到的一帧或多帧图像,返回采集单元。
可选地,采集单元200可以包括:获取子单元(图中未示出),用于当每次到达图像采集时刻时,获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;采集子单元(图中未示出),用于根据尺寸信息和位置信息采集与图像采集时刻对应的位于顶层窗口内的图像。
可选地,采集单元200可以包括:采集子单元(图中未示出),用于当每次到达图像采集时刻时,采集与图像采集时刻对应的位于终端屏幕内的图像;获取子单元(图中未示出),用于获取顶层窗口的尺寸信息以及顶层窗口在终端屏幕内的位置信息;处理子单元(图中未示出),用于根据尺寸信息和位置信息从位于终端屏幕内的图像中截取出位于顶层窗口内的图像。
可选地,如图3所示,上述装置还可以包括:处理模块30,用于接收第一控制指令,并按照第一控制指令将多帧图像转换为预设格式的视频文件;和/或,接收第二控制指令,并按照第二控制指令将采集多帧图像时选用的第一图片格式转换为第二图片格式;和/或,接收第三控制指令,并按照第三控制指令将多帧图像持久性存储于预设存储空间;和/或,接收第四控制指令,并按照第四控制指令查找多帧图像的当前存储位置。
通过采用本发明实施例所提供的应用程序异常处理装置,监控程序在后台运行,当确定终端尚未执行游戏测试时,将处于等待状态并消耗较少的硬件资源;另外,无需多次重复启动该监控程序,使用方便且消耗已经资源较少。进一步地,在采集到上述多帧图像之后,测试人员还可以向研发人员进行bug反馈时存在更多的选择途径,例如:将存储的图片转化为视频文件,将存储的图片转化为GIF格式图片,直接存储图片集合至特定存储空间等,从而有效地提高了测试人员与研发人员之间的沟通效率与游戏项目的开发效率。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种应用程序异常处理方法,其特征在于,包括:
确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;
对所述顶层窗口内连续播放的多帧图像进行采集,其中,所述多帧图像用于对运行所述待测试应用程序的过程中发生的异常进行检测与分析。
2.根据权利要求1所述的方法,其特征在于,确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口的方式包括以下至少之一:
根据所述顶层窗口的名称确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口;
根据所述顶层窗口的类名确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口;
根据所述顶层窗口的尺寸确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口。
3.根据权利要求1所述的方法,其特征在于,对所述顶层窗口内连续播放的所述多帧图像进行采集包括:
采集步骤,在运行所述待测试应用程序的时间进度上按照预设时间间隔采集每帧图像,其中,所述预设时间间隔是由所述多帧图像对应的帧率确定的;
判断步骤,判断当前采集的图像帧数是否大于预设阈值,如果否,则返回所述采集步骤;如果是,则执行更新步骤;
所述更新步骤,将按照所述预设阈值最早采集的一帧或多帧图像进行删除,并保留当前最新采集到的一帧或多帧图像,返回所述采集步骤。
4.根据权利要求3所述的方法,其特征在于,按照所述预设时间间隔采集每帧图像包括:
当每次到达图像采集时刻时,获取所述顶层窗口的尺寸信息以及所述顶层窗口在所述终端屏幕内的位置信息;
根据所述尺寸信息和所述位置信息采集与所述图像采集时刻对应的位于所述顶层窗口内的图像。
5.根据权利要求3所述的方法,其特征在于,按照所述预设时间间隔采集每帧图像包括:
当每次到达图像采集时刻时,采集与所述图像采集时刻对应的位于所述终端屏幕内的图像;
获取所述顶层窗口的尺寸信息以及所述顶层窗口在所述终端屏幕内的位置信息;
根据所述尺寸信息和所述位置信息从位于所述终端屏幕内的图像中截取出位于所述顶层窗口内的图像。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在对所述顶层窗口内连续播放的所述多帧图像进行采集之后,还包括以下至少之一:
接收第一控制指令,并按照所述第一控制指令将所述多帧图像转换为预设格式的视频文件;
接收第二控制指令,并按照所述第二控制指令将采集所述多帧图像时选用的第一图片格式转换为第二图片格式;
接收第三控制指令,并按照所述第三控制指令将所述多帧图像持久性存储于预设存储空间;
接收第四控制指令,并按照所述第四控制指令查找所述多帧图像的当前存储位置。
7.一种应用程序异常处理装置,其特征在于,包括:
确定模块,用于确定终端屏幕内当前显示的顶层窗口为运行待测试应用程序触发的显示窗口;
采集模块,用于对所述顶层窗口内连续播放的多帧图像进行采集,其中,所述多帧图像用于对运行所述待测试应用程序的过程中发生的异常进行检测与分析。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,用于根据所述顶层窗口的名称确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口;和/或,根据所述顶层窗口的类名确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口;和/或,根据所述顶层窗口的尺寸确定所述顶层窗口为运行所述待测试应用程序触发的所述显示窗口。
9.根据权利要求7所述的装置,其特征在于,所述采集模块包括:
采集单元,用于在运行所述待测试应用程序的时间进度上按照预设时间间隔采集每帧图像,其中,所述预设时间间隔是由所述多帧图像对应的帧率确定的;
判断单元,用于判断当前采集的图像帧数是否大于预设阈值,如果否,则返回所述采集单元;如果是,则转到更新单元;
所述更新单元,用于将按照所述预设阈值最早采集的一帧或多帧图像进行删除,并保留当前最新采集到的一帧或多帧图像,返回所述采集单元。
10.根据权利要求9所述的装置,其特征在于,所述采集单元包括:
获取子单元,用于当每次到达图像采集时刻时,获取所述顶层窗口的尺寸信息以及所述顶层窗口在所述终端屏幕内的位置信息;
采集子单元,用于根据所述尺寸信息和所述位置信息采集与所述图像采集时刻对应的位于所述顶层窗口内的图像。
11.根据权利要求9所述的装置,其特征在于,所述采集单元包括:
采集子单元,用于当每次到达图像采集时刻时,采集与所述图像采集时刻对应的位于所述终端屏幕内的图像;
获取子单元,用于获取所述顶层窗口的尺寸信息以及所述顶层窗口在所述终端屏幕内的位置信息;
处理子单元,用于根据所述尺寸信息和所述位置信息从位于所述终端屏幕内的图像中截取出位于所述顶层窗口内的图像。
12.根据权利要求7至11中任一项所述的装置,其特征在于,所述装置还包括:
处理模块,用于接收第一控制指令,并按照所述第一控制指令将所述多帧图像转换为预设格式的视频文件;和/或,接收第二控制指令,并按照所述第二控制指令将采集所述多帧图像时选用的第一图片格式转换为第二图片格式;和/或,接收第三控制指令,并按照所述第三控制指令将所述多帧图像持久性存储于预设存储空间;和/或,接收第四控制指令,并按照所述第四控制指令查找所述多帧图像的当前存储位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610834345.6A CN106354606B (zh) | 2016-09-20 | 2016-09-20 | 应用程序异常处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610834345.6A CN106354606B (zh) | 2016-09-20 | 2016-09-20 | 应用程序异常处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354606A true CN106354606A (zh) | 2017-01-25 |
CN106354606B CN106354606B (zh) | 2018-12-07 |
Family
ID=57858081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610834345.6A Active CN106354606B (zh) | 2016-09-20 | 2016-09-20 | 应用程序异常处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354606B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241787A (zh) * | 2018-07-24 | 2019-01-18 | 上海碳蓝网络科技有限公司 | 图像输入设备的调用检测方法、设备及计算机可读存储介质 |
CN109299012A (zh) * | 2018-09-26 | 2019-02-01 | 广州云测信息技术有限公司 | 一种测试方法、装置及电子设备 |
WO2019090981A1 (zh) * | 2017-11-08 | 2019-05-16 | 平安科技(深圳)有限公司 | 保险应用系统的监控方法及装置 |
CN110912948A (zh) * | 2018-09-14 | 2020-03-24 | 北京京东尚科信息技术有限公司 | 一种问题上报的方法和装置 |
CN112464621A (zh) * | 2020-11-30 | 2021-03-09 | 北京航星机器制造有限公司 | 基于Python的应用软件格式转换实现方法及装置 |
CN113064689A (zh) * | 2021-03-26 | 2021-07-02 | 西安万像电子科技有限公司 | 场景识别方法和装置、存储介质及电子设备 |
CN113434825A (zh) * | 2021-07-07 | 2021-09-24 | 成都新希望金融信息有限公司 | 基于计算机视觉的应用程序造假识别方法、装置和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403981A (zh) * | 2008-11-07 | 2009-04-08 | 中兴通讯股份有限公司 | 手机应用程序运行状态的管理方法和系统 |
CN102298491A (zh) * | 2011-06-16 | 2011-12-28 | 珠海全志科技有限公司 | 嵌入式图形界面系统及其图像生成方法 |
CN103577023A (zh) * | 2012-07-20 | 2014-02-12 | 华为终端有限公司 | 视频处理方法及终端 |
CN104077016A (zh) * | 2013-03-29 | 2014-10-01 | 中兴通讯股份有限公司 | 一种多窗口显示和切换方法及装置 |
CN104243978A (zh) * | 2014-09-26 | 2014-12-24 | 广东威创视讯科技股份有限公司 | 图像异常检测装置和方法 |
US20150089299A1 (en) * | 2013-09-25 | 2015-03-26 | Microsoft Corporation | Online application testing across browser environments |
CN104615543A (zh) * | 2015-02-12 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种窗口程序异常响应的检测方法及装置 |
-
2016
- 2016-09-20 CN CN201610834345.6A patent/CN106354606B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403981A (zh) * | 2008-11-07 | 2009-04-08 | 中兴通讯股份有限公司 | 手机应用程序运行状态的管理方法和系统 |
CN102298491A (zh) * | 2011-06-16 | 2011-12-28 | 珠海全志科技有限公司 | 嵌入式图形界面系统及其图像生成方法 |
CN103577023A (zh) * | 2012-07-20 | 2014-02-12 | 华为终端有限公司 | 视频处理方法及终端 |
CN104077016A (zh) * | 2013-03-29 | 2014-10-01 | 中兴通讯股份有限公司 | 一种多窗口显示和切换方法及装置 |
US20150089299A1 (en) * | 2013-09-25 | 2015-03-26 | Microsoft Corporation | Online application testing across browser environments |
CN104243978A (zh) * | 2014-09-26 | 2014-12-24 | 广东威创视讯科技股份有限公司 | 图像异常检测装置和方法 |
CN104615543A (zh) * | 2015-02-12 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种窗口程序异常响应的检测方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019090981A1 (zh) * | 2017-11-08 | 2019-05-16 | 平安科技(深圳)有限公司 | 保险应用系统的监控方法及装置 |
CN109241787A (zh) * | 2018-07-24 | 2019-01-18 | 上海碳蓝网络科技有限公司 | 图像输入设备的调用检测方法、设备及计算机可读存储介质 |
CN110912948A (zh) * | 2018-09-14 | 2020-03-24 | 北京京东尚科信息技术有限公司 | 一种问题上报的方法和装置 |
CN110912948B (zh) * | 2018-09-14 | 2023-12-08 | 北京京东尚科信息技术有限公司 | 一种问题上报的方法和装置 |
CN109299012A (zh) * | 2018-09-26 | 2019-02-01 | 广州云测信息技术有限公司 | 一种测试方法、装置及电子设备 |
CN112464621A (zh) * | 2020-11-30 | 2021-03-09 | 北京航星机器制造有限公司 | 基于Python的应用软件格式转换实现方法及装置 |
CN113064689A (zh) * | 2021-03-26 | 2021-07-02 | 西安万像电子科技有限公司 | 场景识别方法和装置、存储介质及电子设备 |
CN113434825A (zh) * | 2021-07-07 | 2021-09-24 | 成都新希望金融信息有限公司 | 基于计算机视觉的应用程序造假识别方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106354606B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354606A (zh) | 应用程序异常处理方法及装置 | |
CN106502902B (zh) | web页面运行效率监测方法及装置 | |
CN100462975C (zh) | 信息演示方法和信息演示装置 | |
CN101303697B (zh) | 内容显示控制装置及内容显示控制方法 | |
US20180077099A1 (en) | Electronic meeting management | |
US20110196888A1 (en) | Correlating Digital Media with Complementary Content | |
CN110784751B (zh) | 信息显示方法及装置 | |
US20080244438A1 (en) | System and method for displaying content by monitoring user-generated activity | |
WO2013022156A1 (en) | Life-logging and memory sharing | |
US7539934B2 (en) | Computer-implemented method, system, and program product for developing a content annotation lexicon | |
CN110826302A (zh) | 调查问卷创建方法、装置、介质及电子设备 | |
CN107256155A (zh) | 后台管理系统的菜单适配方法、服务器及可读存储介质 | |
CN101911050A (zh) | 实时注释器 | |
CN110851710A (zh) | 一种小说推荐方法及设备 | |
US10769196B2 (en) | Method and apparatus for displaying electronic photo, and mobile device | |
CN104023176B (zh) | 处理音频和图像信息的方法、装置和终端设备 | |
CN106445817A (zh) | 测试数据的处理方法、装置和系统 | |
CN113779381B (zh) | 资源推荐方法、装置、电子设备和存储介质 | |
CN112068920A (zh) | 内容展示方法、装置、电子设备和可读存储介质 | |
US20200126564A1 (en) | Review system for online communication, method, and computer program | |
CN106982368A (zh) | 视频响应速度检测方法和系统 | |
CN103348315A (zh) | 摄像机中的内容存储管理 | |
CN111767396A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN107872713A (zh) | 短视频处理系统、方法及装置 | |
CN106681827A (zh) | 一种检测软件运行卡慢的方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |