异常事件回放方法、装置及设备与流程

文档序号:14911021发布日期:2018-07-10 23:24阅读:240来源:国知局
本发明涉及计算机
技术领域
,特别涉及一种异常事件回放方法、装置及设备。
背景技术
:(安卓)Android是一种以Linux为基础的开放源码操作系统,正因为其开源免费,再加上Android操作系统简单实用,受到广大厂商的偏爱。然而,随着技术的发展,系统更新速度越来越快,各应用商先前开发的应用在更新后的系统中运行时,有可能存在兼容性问题导致应用出现闪退或崩溃。目前,为了测试应用是否与更新后的系统兼容性,通常会在应用运行过程中,捕获应用闪退或者崩溃时的堆栈信息,然后由测试人员根据堆栈信息,分析、还原应用的使用场景,并根据使用场景进行验证和应用修复等操作。但是,上述测试方式对测试人员的测试水平要求较高,使用场景的还原准确性较低,导致验证结果的可靠性和准确性也较差。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种异常事件回放方法,该方法通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。本发明的第二个目的在于提出一种异常事件回放方法。本发明的第三个目的在于提出一种应用客户端。本发明的第四个目的在于提出一种服务器。本发明的第五个目的在于提出一种计算机设备。本发明的第六个目的在于提出一种计算机可读存储介质。为达上述目的,本发明第一方面实施例提出了一种异常事件回放方法,该方法应用于应用客户端,包括:在确定应用启动后,监控并记录用户的操作数据;在监听到所述应用异常时,将所述记录的操作数据发送给服务器,以使服务器根据所述操作数据,还原所述崩溃时的使用场景。本发明实施例提供的异常事件回放方法,在确定出应用启动后,监控并记录用户的操作数据,并且在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据用户操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据另外,本发明上述实施例提出的异常事件回放方法还可以具有如下附加的技术特征:可选的,在本发明的一个实施例中,所述用户的操作数据,包括以下信息中的至少一种:操作事件类型、操作时间、事件参数和/或所述应用所在设备标识。可选的,在本发明的另一个实施例中,所述监控并记录用户的操作数据之后,还包括:若获取到用户的反馈请求,则将所述反馈请求及所述记录的操作数据发送给所述服务器。可选的,在本发明的另一个实施例中,所述将所述记录的操作数据发送给服务器之后,还包括:删除记录的所述用户的操作数据。可选的,在本发明的另一个实施例中,所述监控并记录用户的操作数据之后,还包括:在所述应用退出时,删除记录的所述用户的操作数据。为达上述目的,本发明第二方面实施例提出了一种异常事件回放方法,该方法应用于服务器,包括:获取应用客户端发送的用户的操作数据;按照预设的映射规则,将所述用户的操作数据映射为自动化测试框架脚本;将所述自动化框架脚本组装生成可执行文件;运行所述可执行文件,以对用户的操作进行回放。本发明实施例提供的异常事件回放方法,首先获取应用客户端发送的用户操作数据,然后按照预设的映射规则,将用户的操作数据映射为自动化测试框架脚本,并将自动化框架脚本组装生成可执行文件,运行可执行文件,以对用户的操作进行回放。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。另外,本发明上述实施例提出的异常事件回放方法还可以具有如下附加的技术特征:可选的,在本发明的一个实施例中,所述将所述用户的操作数据映射为自动化测试框架脚本之前,还包括:根据当前采用的测试框架类型,确定所述预设的映射规则。可选的,在本发明的另一个实施例中,所述用户的操作数据包括所述应用客户端所在的设备标识;所述运行所述可执行文件,包括:根据所述设备标识,确定目标运行设备;控制所述可执行文件在所述目标运行设备中运行。为达上述目的,本发明第三方面实施例提出了一种应用客户端,包括:记录模块,用于在确定应用启动后,监控并记录用户的操作数据;第一发送模块,用于在监听到所述应用异常时,将所述记录的操作数据发送给服务器,以使服务器根据所述操作数据,还原所述崩溃时的使用场景。本发明实施例提供的应用客户端,在确定出应用启动后,监控并记录用户的操作数据,并且在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据用户操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。另外,本发明上述实施例提出的应用客户端还可以具有如下附加的技术特征:可选的,在本发明的一个实施例中,所述用户的操作数据,包括以下信息中的至少一种:操作事件类型、操作时间、事件参数和/或所述应用所在设备标识。可选的,在本发明的另一个实施例中,还包括:第二发送模块,用于若获取到用户的反馈请求,则将所述反馈请求及所述记录的操作数据发送给所述服务器。可选的,在本发明的另一个实施例中,还包括:第一删除模块,用于删除记录的所述用户的操作数据。可选的,在本发明的另一个实施例中,还包括:第二删除模块,用于在所述应用退出时,删除记录的所述用户的操作数据。为达上述目的,本发明第四方面实施例提出了一种服务器,包括:获取模块,用于获取应用客户端发送的用户的操作数据;映射模块,用于按照预设的映射规则,将所述用户的操作数据映射为自动化测试框架脚本;生成模块,用于将所述自动化框架脚本组装生成可执行文件;运行模块,用于运行所述可执行文件,以对用户的操作进行回放。本发明实施例提供的服务器,首先获取应用客户端发送的用户操作数据,然后按照预设的映射规则,将用户的操作数据映射为自动化测试框架脚本,并将自动化框架脚本组装生成可执行文件,运行可执行文件,以对用户的操作进行回放。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。另外,本发明上述实施例提出的服务器还可以具有如下附加的技术特征:可选的,在本发明的一个实施例中,还包括:确定模块,用于根据当前采用的测试框架类型,确定所述预设的映射规则。可选的,在本发明的另一个实施例中,所述用户的操作数据包括所述应用客户端所在的设备标识;所述运行模块,包括:确定子单元,用于根据所述设备标识,确定目标运行设备;运行子单元,用于控制所述可执行文件在所述目标运行设备中运行。为达上述目的,本发明第五方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,以实现第一方面实施例所述的异常事件回放方法,或第二方面实施例所述的异常事件回放方法。本发明实施例提供的计算机设备,在确定出应用启动后,监控并记录用户的操作数据,并且在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据用户操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。为达上述目的,本发明的第六方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现第一方面实施例所述的异常事件回放方法,或第二方面实施例所述的异常事件回放方法。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本发明一个实施例的异常事件回放方法的流程示意图;图2为本发明另一个实施例的异常事件回放方法的流程示意图;图3为本发明又一个实施例的异常事件回放方法的流程示意图;图4为本发明一个具体实施例的应用客户端与服务器进行信令交互的示意图;图5为本发明一个实施例的应用服务器的结构示意图;图6为本发明一个实施例的服务器的结构示意图;图7为本发明一个实施例的计算机设备的结构示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。本发明中各实施例主要针对现有技术中,在测试应用与更新后的系统是否兼容时,测试人员通过捕获应用过程中出现闪退或者崩溃时的堆栈信息,然后人工根据捕获的堆栈信息分析、还原应用的使用场景,并根据使用场景进行验证和应用修复等操作,这就使得对测试人员的测试水平要求较高,并且使用场景的还原准确性较低,进而导致验证结果的可靠性和准确性较差的问题,提出一种异常事件回放方法。本发明提出的异常事件回放方法,在确定应用启动后,监控并记录用户的操作数据,并在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据操作数据,还原崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。下面参考附图描述本发明实施例的异常事件回放方法、装置及设备。首先结合附图1,对本发明实施例提供的异常事件回放方法进行具体说明。图1为本发明一个实施例的异常事件回放方法的流程示意图。如图1所示,本发明的异常事件回放方法可以包括以下步骤:步骤101,在确定应用启动后,监控并记录用户的操作数据。具体的,本实施例提供的异常事件回放方法,可以由本发明提供的应用客户端执行,以对应用运行过程进行控制。其中,本实施例的应用客户端可以安装于任意具有Android操作系统的设备中,比如智能手机、个人数字助理(PersonalDigitalAssistant,简称为:PDA)、平板电脑(PersonalAccessDevice,简称为:PDA)等等,本实施例对此不作具体限定。在本实施例中,用户的操作数据可以包括以下信息中的至少一种:操作事件类型、操作时间、事件参数和/或应用所在设备标识。其中,操作事件类型,具体是指用户在应用运行过程中执行的操作事件,比如单击事件、键盘事件、手势事件、滑动事件等等。事件参数可以是指点击位置、点击次数、滑动位置、滑动方式、滑动方向等等,此处对其不作具体限定。进一步的,应用所在设备标识可以是,但不限于:设备型号、国际移动设备标识(InternationalMobileEquipmentIdentity,简称为:IMEI)、硬件地址(MediaAccessControl,简称为:MAC)等等。在具体实现时,可通过以下多种方式,监听用户在应用运行过程中,执行的操作数据,举例说明如下:作为第一种实现方式:启动应用之前,可先在应用的代码中添加各种事件的监听器,以在应用启动运行后,通过与各类事件接口关联的监听器,来监控用户的操作数据。例如,表1所示,可以通过对单击事件绑定事件接口监听器:onClickListener,然后通过定义voidonClick()处理方法,来实现对单击事件的监控;再例如表1所示,通过对键盘事件绑定事件接口监听器:onKeyListener,然后通过定义booleanonKey()处理方法,实现对键盘事件的监控。表1:为了清楚说明,本实施例通过在应用代码中添加各种类型的监听器,以实现应用运行过程中,监控用户的操作数据,下面以设置单击事件监听器和触摸事件监听器为例,对用户操作数据监控进行举例说明:PublicclassUserActivityextendsActivityimplementsonClickListener.onClickListener{PrivateintrawX=0,rawY=0;……/*选择可点击控件*/btn_demo=(Button)findViewById(R.id.btn_demo);/*设置单击事件监听器*/btn_demo.setOnClickListener(this);/*设置触摸事件监听器*/btn_demo.setOnTouchListener(this);}作为第二种实现方式:利用辅助功能,捕捉用户的操作数据。例如,通过设置AccessibilityDelegate捕捉用户的点击事件等等。作为第三种实现方式:通过与操作事件分发接口关联的函数,捕获用户的操作数据。例如,通过Activity的dispatchTouchEvent,捕获用户的触摸事件等等。需要说明的是,上述三种实现方式仅为示意性,不作为对本实施例的具体限定,并且在具体实施上述三种实现方式时,可以单独实施,也可以任意结合实施,本实施例对此不作具体限定。进一步的,为了能够及时准确的将监控到用户操作数据进行记录,本实施例在应用代码中设置各种类型监听器时,还可设置一个全局缓存,以将监控到的用户操作数据进行缓存,从而实现在后续应用出现异常(闪退或者崩溃)时,能够将缓存的用户操作数据发送给服务器,以使服务器根据上述用户操作数据进行相应处理。其中,在本实施例中,设置的全局缓存可以为:PublicsynchronizedvoidwriteAction(Stringaction){mCache.add(action)…}例如,用户在应用的任意位置处进行点击操作之后,监听器能够监控到上述点击事件,并且上述点击事件对应的点击操作数据:2017.11.2020:00:00\tClickEvent\(320,400),还会对应存储在缓存单元中。步骤102,在监听到应用异常时,将记录的操作数据发送给服务器,以使服务器根据操作数据,还原崩溃时的使用场景。具体的,当应用运行过程中,设置的监听器监听到系统异常函数被调用时,则可以确定出应用运行出现异常,此时应用客户端可将记录的用户此次在应用中的所有操作数据,发送给服务器,以使服务器根据上述用户操作数据,对应用此次的使用场景进行还原,从而降低对测试人员的水平要求,并且能够保证应用使用场景的还原准确性。其中,在本实施例中系统异常函数可以为:Thread.UncaughtException,本实施例对此不作具体限定。进一步的,本实施例应用客户端在将记录的操作数据发送给服务器时,可以通过以下方式实现:例如:publicvoidsendAction(){…sendToServ();}需要说明的是,上述方式将记录的操作数据发送给服务器仅为示例性说明,不作为对本实施例的具体限制。本发明实施例提供的异常事件回放方法,在确定出应用启动后,监控并记录用户的操作数据,并且在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据用户操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。通过上述分析可知,本发明实施例在监听到应用运行异常时,通过将记录的用户操作数据发送给服务器,以使服务器根据操作数据,还原应用崩溃时的使用场景。在本发明的另一种实现场景中,由于在实际应用过程中,应用所在设备的系统版本不一致时,有可能出现的异常情况也存在差异,对此为了针对上述情况,本实施例在监控并记录用户的操作数据之后,还可以接收用户的反馈请求,并根据用户的反馈请求,将反馈请求及记录的操作数据发送给服务器,以使服务器根据反馈请求及记录的操作数据还原应用的使用场景。下面结合图2,对本发明的异常事件回放方法的上述情况进行详细的说明。图2为本发明另一个实施例的异常事件回放方法的流程示意图。如图2所示,本发明实施例的异常事件回放方法,可以包括以下步骤:步骤201,在确定应用启动后,监控并记录用户的操作数据。步骤202,若获取到用户的反馈请求,则将反馈请求及记录的操作数据发送给服务器,以使服务器根据操作数据,还原崩溃时的使用场景。具体的,任意应用在所属设备上运行时,可能会因为设备系统或者设备硬件等原因,导致应用在运行时出现异常,对此用户可以向应用客户端发送反馈请求,以使得应用客户端根据上述反馈请求,从记录的用户操作数据中,获取反馈请求对应的操作数据,并将反馈请求及操作数据发送给服务器,以使服务器根据操作数据,还原应用崩溃时的使用场景。其中,本实施例在将反馈请求及记录的操作数据发送给服务器时,为了节约成本,减少带宽占用量,可以将上述反馈请求及记录的操作数据进行打包压缩处理后,再发送给服务器。在本发明的一个实施例中,为了节省设备存储空间,以及减少此次记录的用户的操作数据对下一次记录的用户操作数据造成干扰或其它不利影响,本实施例还可以将记录的操作数据发送给服务器之后,删除记录的用户操作数据;或者,在用户正常退出应用之后,自动删除记录的用户操作数据。本发明实施例提供的异常事件回放方法,在确定应用启动后,监控并记录用户的操作数据,并且获取到用户的反馈请求时,将反馈请求及记录的操作数据发送给服务器,以使服务器根据反馈请求及操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据,,并且还可根据用户需求有针对性的进行应用使用场景的还原,极大的满足了不同用户的需求,提升了用户使用体验。下面结合附图3,以服务器为例对本发明实施例提出的异常事件回放方法进行详细描述。图3为本发明又一个实施例的异常事件回放方法的流程示意图。如图3所示,该异常事件回放方法可以包括以下步骤:步骤301,获取应用客户端发送的用户的操作数据。步骤302,按照预设的映射规则,将用户的操作数据映射为自动化测试框架脚本。具体的,本实施例提供的异常事件回放方法,可以由本发明提供的服务器执行,以对应用运行情况进行控制。其中,本实施例中预设的映射规则可以根据测试框架类型进行适应性设置,本实施例对此不作具体限制。具体实现时,可先对服务器当前采用的测试框架类型进行确定,然后根据确定的测试框架类型,确定出预设的映射规则,并且在确定出预设的映射规则之后,按照上述映射规则,将用户的操作数据映射为自动化测试框架脚本。其中,服务器采用的测试框架类型可以是,但不限于:robotium、appium、Monkey等等,本实施例对此不作具体限定。举例来说,若服务器当前采用的是Monkey测试框架,那么根据上述Monkey测试框架可以确定出预设的映射规则,并且根据预设的映射规则,可以将用户的操作数据映射为自动化测试框架脚本,具体情况如下表2所示。表2:用户的操作数据自动化测试框架脚本(Monkey-API)映射规则ClickEventDispatchPointer()//坐标赋值KeyEventDispatchPress()//keycode转化步骤303,将自动化框架脚本组装生成可执行文件。例如,将Monkey-Api组装生成一个可执行的完整Monkey文件。其中,在对自动化框架脚本进行组装时,对用户操作数据中不同操作事件用UserWait进行间隔显示,并插入Monkey文件中。步骤304,运行可执行文件,以对用户的操作进行回放。具体的,在生成可执行文件时,服务器可运行上述可执行文件,以实现对用户的操作过程进行回放。例如:adbshellmonkey–fdemo.script–v1下面通过举例,对本发明服务器在获取到应用客户端发送的用户操作数据,并根据上述用户操作数据对用户的操作进行回放进行具体说明。假设服务器接收到的用户操作数据为:那么服务器根据当前采用的测试框架类型,将上述用户操作数据组装成对应的可执行文件:Type=pointCount=4Speed=1.0Startdata〉〉launchActivity(com.demo.test.com.demo.test.MainActivity)####用户操作数据转换为MonkeyAPI#########DispatchPointer(0.0.0.232.3.363.8.0.0.0.0.0.0.0)DispatchPointer(1.1.1.232.3.363.8.0.0.0.0.0.0.0)UserWait(54000)DispatchPointer(0.0.0.231.3.366.2.0.0.0.0.0.0.0)DispatchPointer(1.1.1.231.3.366.2.0.0.0.0.0.0.0)UserWait(1600)DispatchPointer(0.0.0.403.6.100.2.0.0.0.0.0.0.0)DispatchPointer(1.1.1.403.6.100.2.0.0.0.0.0.0.0)进而,运行上述可执行文件,以对用户的操作进行回放。进一步的,由于服务器可能会获取到大量应用客户端发送的用户操作数据,而为了便于服务器区分不同应用客户端,应用客户端在向服务器发送用户的操作数据时,还可将应用客户端所在的设备标识一起发送给服务器,从而使得服务器在获取到应用客户端发送的用户操作数据之后,以cuid/imei+时间戳的方式进行相应存储,从而便于服务器后续根据应用客户端所在设备标识,确定目标运行设备,并在确定的目标运行设备中运行可执行文件。具体实现时,本实施例可先根据所述设备标识,确定目标运行设备,然后控制可执行文件在目标运行设备中运行。例如,若应用客户端所在的设备标识为设备型号vivoX20,那么服务器可根据上述设备型号确定对应的目标运行设备也为vivoX20,并且在服务器根据用户的操作数据生成可执行文件之后,可直接将上述可执行文件在目标运行设备vivoX20中进行运行,以实现对用户的操作进行回放,从而使得用户的操作回放更贴近用户的实际操作。本发明实施例提供的异常事件回放方法,首先获取应用客户端发送的用户操作数据,然后按照预设的映射规则,将用户的操作数据映射为自动化测试框架脚本,并将自动化框架脚本组装生成可执行文件,运行可执行文件,以对用户的操作进行回放。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。下面通过一个具体实施例,对上述实施例异常事件回放方法进行具体说明,具体参见图4。图4为本发明一个具体实施例的应用客户端与服务器进行信令交互的示意图。其中,假设本实施例中应用客户端为A,服务器为B,那么应用客户端A与服务器B的交互过程可以包括以下步骤:需要说明的是,本实施例中应用客户端可以包括多个,本实施例对此不作具体限定。步骤401:应用客户端A在确定应用启动后,监控并记录用户的操作数据。步骤402,在监听到应用异常时,将记录的操作数据发送给服务器B。步骤403,服务器B接收应用客户端发送的用户操作数据,按照预设的映射规则,将用户的操作数据映射为自动化测试框架脚本,并将自动化测试框架脚本组装生成可执行文件。步骤404,服务器B将生成的可执行文件发送给运行设备C。步骤405,运行设备C接收服务器B发送的可执行文件,并运行可执行文件,以对用户的操作进行回放。通过上述实施例提供的异常事件回放方法,通过分析用户的操作数据来回放应用的使用场景,无需测试人员通过后期分析以及使用场景的模拟构造来回放用户操作,有效简化了测试人员的操作步骤,提高了应用使用场景的还原准确性,使得应用的测试结果可靠性和准确性更佳,从而为应用的更新提供了可靠依据。下面参照附图描述本发明实施例提出的应用客户端。图5为本发明一个实施例的应用客户端的结构示意图。如图5所示,该应用客户端包括:记录模块11和第一发送模块12。其中,记录模块11用于在确定应用启动后,监控并记录用户的操作数据;第一发送模块12用于在监听到所述应用异常时,将所述记录的操作数据发送给服务器,以使服务器根据所述操作数据,还原所述崩溃时的使用场景。其中,在本实施例中用户的操作数据,包括以下信息中的至少一种:操作事件类型、操作时间、事件参数和/或所述应用所在设备标识。在本发明的一种实现方式中,本发明的应用客户端还包括:第二发送模块。其中,第二发送模块,用于若获取到用户的反馈请求,则将所述反馈请求及所述记录的操作数据发送给所述服务器。在本发明的另一种实现方式中,本发明的应用客户端还包括:第一删除模块。其中,第一删除模块,用于删除记录的所述用户的操作数据。在本发明的另一种实现方式中,本发明的应用客户端还包括:第二删除模块。其中,第二删除模块,用于在所述应用退出时,删除记录的所述用户的操作数据。需要说明的是,本实施例的应用客户端的实施过程和技术原理参见前述对第一方面实施例的异常事件回放方法的解释说明,此处不再赘述。本发明实施例提供的应用客户端,在确定出应用启动后,监控并记录用户的操作数据,并且在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据用户操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。为实现上述实施例,本发明还提出一种服务器。图6为本发明一个实施例的服务器的结构示意图。参照图6,上述服务器包括:获取模块21、映射模块22、生成模块23以及运行模块24。其中,获取模块21用于获取应用客户端发送的用户的操作数据;映射模块22用于按照预设的映射规则,将所述用户的操作数据映射为自动化测试框架脚本;生成模块23用于将所述自动化框架脚本组装生成可执行文件;运行模块24用于运行所述可执行文件,以对用户的操作进行回放。在本发明的一个实现方式中,本发明实施例的服务器还包括:确定模块。其中,确定模块用于根据当前采用的测试框架类型,确定所述预设的映射规则。在本发明的另一个实现方式中,所述用户的操作数据包括所述应用客户端所在的设备标识;所述运行模块24,包括:确定子单元和运行子单元。其中确定子单元,用于根据所述设备标识,确定目标运行设备;运行子单元,用于控制所述可执行文件在所述目标运行设备中运行。需要说明的是,本实施例的服务器的实施过程和技术原理参见前述对第二方面实施例所述的异常事件回放方法的解释说明,此处不再赘述。本发明实施例提供的服务器,首先获取应用客户端发送的用户操作数据,然后按照预设的映射规则,将用户的操作数据映射为自动化测试框架脚本,并将自动化框架脚本组装生成可执行文件,运行可执行文件,以对用户的操作进行回放。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。为了实现上述实施例,本发明还提出一种计算机设备。图7为本发明一个实施例的计算机设备的结构示意图。如图7所示,上述计算机设备30包括:存储器31、处理器32及存储在存储器31上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现第一方面实施例所述的异常事件回放方法,或第二方面实施例所述的异常事件回放方法。本发明实施例提供的计算机设备,在确定出应用启动后,监控并记录用户的操作数据,并且在监听到应用异常时,将记录的用户操作数据发送给服务器,以使服务器根据用户操作数据,还原应用崩溃时的使用场景。由此,通过利用用户的操作数据,对应用的使用场景进行自动还原,有效简化了测试人员的操作步骤,提高了使用场景还原的准确性,从而使得应用的测试结果可靠性和准确性更佳,为应用的更新提供了可靠依据。为实现上述目的,本发明还提出一种计算机可读存储介质。其中该计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现第一方面实施例所述的异常事件回放方法,或第二方面实施例所述的异常事件回放方法。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
的技术人员所理解。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。本
技术领域
的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1