一种测试Flash引擎的方法及装置与流程

文档序号:11638347阅读:152来源:国知局
一种测试Flash引擎的方法及装置与流程
本发明涉及计算机技术领域,特别涉及一种测试Flash引擎的方法及装置。

背景技术:
随着网络技术的发展,网页中普遍采用Flash应用程序作为各种软件或游戏的载体。在使用Flash应用程序的时候,需要安装Flash的运行环境才可运行各种Flash应用程序,其中Flash的运行环境可以称为Flash引擎。现有技术中在Flash引擎版本升级时,需要用上一个版本的Flash引擎中正确运行过的Flash应用程序在新的版本上运行,来测试新版本的Flash引擎的正确性和健壮性。进行测试的时候,需要测试人员对Flash应用程序进行完整运行,若引发引擎运行错误或者崩溃的情况,则说明新版本的Flash引擎存在错误,因此通过查找Flash应用程序中致使Flash引擎发生错误的源码来分析及纠正新版本的Flash引擎的错误。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:Flash应用程序的执行逻辑非常复杂,同时组成Flash应用程序的源码过于庞大,因此通过查找发生错误的Flash应用程序的源码来对Flash引擎的错误位置进行定位,排除错误的效率很低。

技术实现要素:
为了解决现有技术中查找Flash引擎错误效率低下的问题,本发明实施例提供了一种测试Flash引擎的方法及装置。所述技术方案如下:一方面,提供了一种测试Flash引擎的方法,所述方法包括:获取Flash应用程序及所述Flash应用程序的进度信息;在待测试Flash引擎上执行所述Flash应用程序;当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置分析所述Flash引擎的错误。其中,所述获取Flash应用程序及所述Flash应用程序的进度信息,具体包括:获取Flash应用程序的每一个事件;根据所述Flash应用程序判断是否已经存在所述Flash应用程序的进度信息;若存在,则将所述Flash应用程序的每一个事件与其在所述Flash应用程序的进度信息的位置进行关联;若不存在,则预先执行所述Flash应用程序以获取所述Flash应用程序的进度信息,并将所述Flash应用程序的每一个事件与其对应的所述Flash应用程序的进度信息的位置进行关联。其中,所述若不存在,则预先执行所述Flash应用程序,获取所述Flash应用程序的进度信息,并将所述Flash应用程序的每一个事件与其在所述Flash应用程序的进度信息的位置进行关联之后,所述方法还包括:若获取所述Flash应用程序的进度信息的过程失败,则根据获取所述Flash应用程序的进度信息失败的位置分析所述Flash引擎的错误。其中,所述当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置分析所述Flash引擎的错误,具体包括:当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置,获取当前执行的所述Flash应用程序的事件;根据所述当前执行的所述Flash应用程序的事件,获取所述事件对应的所述Flash应用程序的源码和中间代码,并根据所述源码和中间代码分析所述Flash引擎的错误。另一方面,提供了一种测试Flash引擎的装置,所述装置包括:获取模块,用于获取Flash应用程序及所述Flash应用程序的进度信息;执行模块,用于在待测试Flash引擎上执行所述Flash应用程序;第一处理模块,用于当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置分析所述Flash引擎的错误。其中,所述获取模块,具体包括:第一获取单元,用于获取Flash应用程序的每一个事件;判断单元,用于根据所述Flash应用程序判断是否已经存在所述Flash应用程序的进度信息;第一处理单元,用于若存在,则将所述Flash应用程序的每一个事件与其在所述Flash应用程序的进度信息的位置进行关联;第二处理单元,用于若不存在,则预先执行所述Flash应用程序以获取所述Flash应用程序的进度信息,并将所述Flash应用程序的每一个事件与其对应的所述Flash应用程序的进度信息的位置进行关联。其中,所述装置还包括:第二处理模块,用于若获取所述Flash应用程序的进度信息的过程失败,则根据获取所述Flash应用程序的进度信息失败的位置分析所述Flash引擎的错误。其中,所述第一处理模块,具体包括:第二获取单元,用于当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置,获取当前执行的所述Flash应用程序的事件;第三处理单元,用于根据所述当前执行的所述Flash应用程序的事件,获取所述事件对应的所述Flash应用程序的源码和中间代码,并根据所述源码和中间代码分析所述Flash引擎的错误。本发明实施例提供的技术方案带来的有益效果是:通过获取的Flash应用程序的进度信息,对在Flash引擎中执行的Flash应用程序发生错误时,可以快速定位到发生错误的进度信息对应的Flash应用程序的代码,及时排查错误。提高了查找Flash引擎错误效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一提供的测试Flash引擎的方法流程图;图2是本发明实施例二提供的测试Flash引擎的方法流程图;图3是本发明实施例三提供的测试Flash引擎的装置结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例一参见图1,本发明实施例提供了一种测试Flash引擎的方法,包括:101:获取Flash应用程序及所述Flash应用程序的进度信息;102:在待测试Flash引擎上执行所述Flash应用程序;103:当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置分析所述Flash引擎的错误。本发明实施例通过获取的Flash应用程序的进度信息,对在Flash引擎中执行的Flash应用程序发生错误时,可以快速定位到发生错误的进度信息对应的Flash应用程序的代码,及时排查错误。提高了查找Flash引擎错误效率。实施例二参见图2,本发明实施例提供了一种测试Flash引擎的方法,是根据实施例一改进而来,包括:需要说明的是,本发明实施例是通过进度条工具调整Flash应用程序对应的进度信息,来实现对Flash应用程序中各事件的快速运行,已达到快速测试Flash引擎的目的。201:获取Flash应用程序及所述Flash应用程序的进度信息。当Flash引擎执行Flash应用程序发生崩溃时,启动带有进度条功能的Flash引擎重新加载Flash应用程序。该进度条用于与Flash应用程序中的进度信息进行关联,通过测试人员拖动该进度条,以达到该Flash的快速可控执行以浮现错误。Flash应用程序是由各种事件组成的,Flash引擎加载Flash应用程序后,首先自动执行该Flash应用程序,通过执行该Flash应用程序,来获取Flash应用程序中的所有事件信息。在首次执行Flash应用程序的事件时,记录事件流,以及执行的abc代码。进度信息是当前Flash应用程序的运行进度,它是Flash引擎中加载的进度条的拖动位置信息对应的关键内容,其中进度条的拖动位置信息是进度条与其对应的内容之间交互的关联关系。进度条与进度信息的对应关系类似视频播放器播放视频文件,视频播放器中的进度条与视频文件的时间信息相关联,观看者可以通过拖动进度条,调整视频播放的进度即播放的时间点。进一步的,将进度条上的位置信息与进度信息进行关联。关联后,使得进度条的拖动位置信息与进度信息关联的事件进行对应,可通过拖动Flash应用程序下方的进度条来对关联的Flash应用程序的时间信息对应的事件进行快速定位以及执行。对于测试的Flash应用程序有可能是第一次使用,也有可能曾经使用过,在本地有可能存在有该Flash应用程序的进度信息。因此首先判断本地是否存在该Flash应用程序对应的事件信息,若存在则将本地存在的进度信息作为该Flash应用程序的进度信息,并与在Flash运行时进度信息对应的事件进行关联,若不存在则预先执行该Flash应用程序,获取Flash应用程序的进度信息,并与在Flash运行时进度信息对应的事件进行关联。因此,步骤201可以具体为:2011:获取Flash应用程序的每一个事件;2012:根据所述Flash应用程序判断是否已经存在所述Flash应用程序的进度信息;2013:若存在,则将所述Flash应用程序的每一个事件与其在所述Flash应用程序的进度信息的位置进行关联;2014:若不存在,则预先执行所述Flash应用程序以获取所述Flash应用程序的进度信息,并将所述Flash应用程序的每一个事件与其对应的所述Flash应用程序的进度信息的位置进行关联。步骤202:在待测试Flash引擎上执行所述Flash应用程序。步骤203:当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置分析所述Flash引擎的错误。进度条与Flash应用程序的事件信息关联后,测试人员就可以通过拖动进度条控制Flash应用程序在Flash引擎中执行,通过该进度条可以达到快速的对事件进行定位以及执行,无需测试人员完整的对Flash应用程序进行操作和使用就能对其中事件进行控制。进一步的,对各种事件的快速定位及执行后,为了提高分析Flash引擎错误的效率,还需精确定位到发生错误的事件对应的Flash应用程序的源码,通过分析发生错误的事件的在该Flash应用程序的源码来分析Flash引擎错误。因此精确定位到Flash应用程序的源码的过程可以为:首先拖动进度条,执行进度条当前的拖动位置关联的Flash应用程序的进度信息对应的事件,若Flash引擎不发生错误的情况下则可以正确的执行该事件,同时调用并以窗口的形式显示当前执行的事件在Flash引擎中的中间代码,即pcode代码,并实时调用外部反编译接口将当前执行的事件对应的中间代码反编译成为Flash应用程序的源码,也以窗口的形式显示出来。若Flash引擎浮现出错误,发生崩溃,则说明当前执行的Flash应用程序的事件引发了该错误,那么通过实时的研读在窗口中显示的当前执行的事件对应的中间代码以及Flash应用程序的源码,以分析Flash引擎的错误原因。测试人员可多次拖动进度条,使得Flash应用程序的事件不断地被调用以及执行,以试图浮现Flash引擎的错误。再进一步的,当人工操作所述Flash应用程序时,获取当前执行的所述Flash应用程序的事件信息对应的事件,调用并显示所述当前执行的事件的源码,若所述Flash引擎执行该事件时出现错误,则根据所述当前执行的事件的源码分析所述Flash引擎的错误。当拖动进度条不能浮现Flash引擎的错误时,则配置Flash引擎将进度条为半启动状态,此时进度条处于不可拖动状态,仅可显示Flash应用程序运行的进度。此时由测试人员人工操作Flash应用程序的运行,运行过程中获取当前执行的Flash应用程序的事件信息对应的事件,根据事件信息中的进度信息与进度条关联,实时在进度条上显示Flash应用程序运行的进度。通过窗口的形式调用并显示当时执行的事件的中间代码,同时调用反编译接口对中间代码反编译为Flash应用程序的源码,通过窗口的形式实时显示该源码。若Flash引擎执行该事件时出现错误,则根据所述当前执行的事件的源码以及中间代码分析所述Flash引擎的错误。因此,步骤203可以具体为:2031:当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置,获取当前执行的所述Flash应用程序的事件;2032:根据所述当前执行的所述Flash应用程序的事件,获取所述事件对应的所述Flash应用程序的源码和中间代码,并根据所述源码和中间代码分析所述Flash引擎的错误。204:若获取所述Flash应用程序的进度信息的过程失败,则根据获取所述Flash应用程序的进度信息失败的位置分析所述Flash引擎的错误。若获取Flash应用程序的进度信息的过程失败,则失败的点对应的Flash应用程序的事件,在Flash引擎中执行时必然会发生错误。将成功获取到的进度信息与其事件进行关联,测试人员需要拖动进度条至失败的点之前,将执行失败的点的事件对应的源码和中间代码来分析该点对应的Flash引擎的错误。本发明实施例通过获取的Flash应用程序的进度信息,对在Flash引擎中执行的Flash应用程序发生错误时,可以快速定位到发生错误的进度信息对应的Flash应用程序的代码,及时排查错误。提高了查找Flash引擎错误效率。实施例三参见图3,本发明实施例提供了一种测试Flash引擎的装置,该装置包括:获取模块301,用于获取Flash应用程序及所述Flash应用程序的进度信息;执行模块302,用于在待测试Flash引擎上执行所述Flash应用程序;第一处理模块303,用于当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置分析所述Flash引擎的错误。在具体实施方式中,获取模块301具体包括:第一获取单元3011,用于获取Flash应用程序的每一个事件;判断单元3012,用于根据所述Flash应用程序判断是否已经存在所述Flash应用程序的进度信息;第一处理单元3013,用于若存在,则将所述Flash应用程序的每一个事件与其在所述Flash应用程序的进度信息的位置进行关联;第二处理单元3014,用于若不存在,则预先执行所述Flash应用程序以获取所述Flash应用程序的进度信息,并将所述Flash应用程序的每一个事件与其对应的所述Flash应用程序的进度信息的位置进行关联。其中,所述第一处理模块303,具体包括:第二获取单元3031,用于当所述Flash引擎执行所述Flash应用程序发生错误时,根据发生错误时所述Flash应用程序对应的进度信息的位置,获取当前执行的所述Flash应用程序的事件;第三处理单元3032,用于根据所述当前执行的所述Flash应用程序的事件,获取所述事件对应的所述Flash应用程序的源码和中间代码,并根据所述源码和中间代码分析所述Flash引擎的错误。其中,所述装置还包括:第二处理模块304,用于若获取所述Flash应用程序的进度信息的过程失败,则根据获取所述Flash应用程序的进度信息失败的位置分析所述Flash引擎的错误。本发明实施例通过获取的Flash应用程序的进度信息,对在Flash引擎中执行的Flash应用程序发生错误时,可以快速定位到发生错误的进度信息对应的Flash应用程序的代码,及时排查错误。提高了查找Flash引擎错误效率。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1