CN112527643A - 一种前端错误检测方法、装置、电子设备及可读存储介质 - Google Patents

一种前端错误检测方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112527643A
CN112527643A CN202011445125.7A CN202011445125A CN112527643A CN 112527643 A CN112527643 A CN 112527643A CN 202011445125 A CN202011445125 A CN 202011445125A CN 112527643 A CN112527643 A CN 112527643A
Authority
CN
China
Prior art keywords
error
page
errors
recording information
recording
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.)
Withdrawn
Application number
CN202011445125.7A
Other languages
English (en)
Inventor
刘泠
范渊
杨勃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202011445125.7A priority Critical patent/CN112527643A/zh
Publication of CN112527643A publication Critical patent/CN112527643A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本申请公开了一种前端错误检测方法、装置、电子设备及计算机可读存储介质,该方法包括:对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;对前端页面进行页面录制,得到录制信息;在沙盒环境中利用录制信息进行异常回放,得到目标文档;解析目标文档,得到第二前端错误;该方法通过捕获在调用接口时出现的第一前端错误,以及非调用接口的其他原因引起的第二前端错误,实现用两种方式从多个角度对前端错误进行定位的效果,可以检测出粒度较小的前端错误,实现对前端错误的准确定位,进而降低前端页面的错误率。

Description

一种前端错误检测方法、装置、电子设备及可读存储介质
技术领域
本申请涉及前端技术领域,特别涉及一种前端错误检测方法、前端错误检测装置、电子设备及计算机可读存储介质。
背景技术
在当今的互联网时代,网页开发越来越受到重视,网页能实现的功能也越来多,部分之前只能在客户端上运行的程序,也逐渐转到网页上运行。前端页面在面对成千上万的用户时,出现错误的概率日益增多。为了解决上述问题,相关技术通常对前端页面进行自测,以便发现其运行时的错误并进行修复,但是自测的方式发现的错误粒度较大,无法发现前端页面中的小粒度错误,即无法准确地定位前端错误。
因此,相关技术存在的无法准确地定位前端错误的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种前端错误检测方法、前端错误检测装置、电子设备及计算机可读存储介质,能够准确地定位前端错误。
为解决上述技术问题,本申请提供了一种前端错误检测方法,包括:
对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;
对所述前端页面进行页面录制,得到录制信息;
在沙盒环境中利用所述录制信息进行异常回放,得到目标文档;
解析所述目标文档,得到第二前端错误。
可选地,所述对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误,包括:
对所述前端页面进行全局捕获处理和基于框架钩子的异常捕获处理,得到同步错误;
对所述前端页面进行单点捕获处理,得到语法错误;
对所述前端页面进行异步捕获处理,得到异步错误;
将所述同步错误、所述语法错误和所述异步错误确定为所述第一前端错误。
可选地,所述对所述前端页面进行页面录制,得到录制信息,包括:
利用网页即时通信接口对所述前端页面进行视频和/或音频录制,得到所述录制信息。
可选地,所述对所述前端页面进行页面录制,得到录制信息,包括:
对所述前端页面进行DOM事件监控,得到所述录制信息。
可选地,所述对所述前端页面进行页面录制,得到录制信息,包括:
利用html2canvas对前端页面进行图片绘制处理,得到所述录制信息。
可选地,所述解析所述目标文档,得到第二前端错误,包括:
读取所述目标文件,确定候选错误;
统计各个所述候选错误对应的时长,并利用所述时长在所述候选错误中确定超时错误;
将所述候选错误中的所述超时错误滤除,得到所述第二前端错误。
可选地,在得到第二前端错误之后,还包括:
利用函数劫持处理对所述第一前端错误和所述第二前端错误进行修复。
本申请还提供了一种前端错误检测装置,包括:
第一获取模块,用于对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;
录制模块,用于对所述前端页面进行页面录制,得到录制信息;
回放模块,用于在沙盒环境中利用所述录制信息进行异常回放,得到目标文档;
第二获取模块,用于解析所述目标文档,得到第二前端错误。
本申请还提供了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的前端错误检测方法。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的前端错误检测方法。
本申请提供的前端错误检测方法,对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;对前端页面进行页面录制,得到录制信息;在沙盒环境中利用录制信息进行异常回放,得到目标文档;解析目标文档,得到第二前端错误。
可见,该方法对前端页面进行同步错误、语法错误和异步错误的捕获,由于在前端页面运行时会调用相应的接口,在调用接口时可能会出现错误,因此可以从多个角度对前端页面运行时因接口调用产生的错误进行捕获,得到第一前端错误。同时,前端页面在正常调用接口的情况下可能因为其他原因出现错误,因此可以对前端页面中的具体操作进行录制,得到录制信息,并在沙盒环境中基于该录制信息进行异常回放,即根据录制信息对前端页面的运行过程进行重放,得到记录前端页面运行情况的目标文档。通过解析目标文档,可以得到前端页面运行时的页面错误,即第二前端错误。通过捕获第一前端错误和第二前端错误,实现用两种方式从多个角度对前端错误进行定位的效果,可以检测出粒度较小的前端错误,实现对前端错误的准确定位,进而降低前端页面的错误率,解决了无法准确地定位前端错误的问题。
此外,本申请还提供了一种前端错误检测装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种前端错误检测方法流程图;
图2为本申请实施例提供的一种具体的第二前端错误获取方法流程图;
图3为本申请实施例提供的一种前端错误检测装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例提供的一种前端错误检测方法流程图。该方法包括:
S101:对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误。
在本实施例中,前端页面具体可以为网页页面。进一步,可以利用具有前端页面的电子设备执行本实施例中的全部或部分步骤,该电子设备可以为计算机、智能终端等。在前端页面工作时,需要调用接口实现其功能,在调用接口时可能会出现接口调用错误,这类错误可以被称为第一前端错误。为了全面捕获第一前端错误,可以根据错误出现方式的不同从多个角度进行错误捕获,具体的,第一前端错误具体可以分为同步错误(即非异步错误)、语法错误和异步错误,因此可以对前端页面进行同步错误、语法错误和异步错误捕获处理,以便全面捕获第一前端错误。本实施例并不限定同步错误、异步错误和语法错误分别对应的具体的错误捕获方式,例如在一种可行的实施方式中,S101步骤可以包括:
步骤11:对前端页面进行全局捕获处理和基于框架钩子的异常捕获处理,得到同步错误。
全局捕获为通过对接口或事件进行全局的处理,对具备相同特性的异常做统一的处理的异常捕获方式。通常,全局捕获通过全局接口,将捕获的异常代码集中写在一个固定位置,全局接口具体可以为框架级别的全局监听接口。当前的前端页面大多使用已有的前端框架生成,而前端框架产生的特定的错误信息会被框架自身的异常捕获机制获取到,该异常捕获机制即为框架钩子。利用上述两种方式,可以对前端页面的同步错误进行捕获,具体的捕获过程本实施例不做限定,可以参考相关技术,在此不做赘述。
步骤12:对前端页面进行单点捕获处理,得到语法错误。
单点捕获用于在业务代码中对单个代码块进行包裹,或在逻辑流程中打点,实现对代码语法错误地有针对性地捕获,其具体捕获方式不做限定。例如可以利用try…catch函数进行捕获;或者可以专门编写语法错误捕获函数来收集异常信息,在语法错误发生时,调用该函数对错误(即异常)进行捕获;或者可以专门编写包裹函数来包裹其他函数,得到一个新函数,该新函数运行结果和原函数一模一样,只是在发生异常时可以捕获异常。上述方式均可以对代码语法进行检测,得到语法错误。
步骤13:对前端页面进行异步捕获处理,得到异步错误。
异步捕获是在前端页面调用接口时,利用promise…catch函数来捕获异步的一个错误,并通过在catch步骤执行时将异步错误抛出,实现对异步错误的检测,同时还可以直观的锁定异步错误的原因。需要说明的是,上述三个步骤可以并行执行,或者可以串行执行,对此本实施例不做限定。
步骤14:将同步错误、语法错误和异步错误确定为第一前端错误。
在同步错误、语法错误和异步错误均确定后,可以将其确定为第一前端错误,以便在后续对第一前端错误进行修复。
S102:对前端页面进行页面录制,得到录制信息。
对于前端异常来说,异常发生的位置可能并不一定是异常根源所在的位置,即前端页面在接口调用和代码语法等均正常的情况下,具体执行过程同样可能出现错误,这类错误可以被称为第二前端错误。为了实现对前端错误的准确定位,可以对前端页面进行页面录制得到录制信息。录制信息可以对前端页面的运行情况进行记录,基于录制信息,可以对前端错误进行回放,以便对错误现场进行复原,并根据复原的错误现场准确定位前端错误,实现对小粒度前端错误的检测。录制信息具体可以为视频、音频、图像、DOM事件变动信息等,根据页面录制方法的不同,录制信息的具体内容也不同。本实施例并不限定页面录制的具体方式,例如在一种可行的实施方式中,S102步骤可以包括:
步骤21:利用网页即时通信接口对前端页面进行视频和/或音频录制,得到录制信息。
其中,网页即时通信接口即为WebRTC接口,其名称源自网页即时通信(英语:WebReal-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API(Application Programming Interface,应用程序接口)。WebRTC提供了包括音视频的采集、编解码、网络传输、显示等功能,同时还支持跨平台数据传输,包括Windows、Linux,Mac,Android等系统。由于其可以进行视音频的采集,因此可以利用其对前端页面进行视频和/或音频的录制,并将录制得到的视音频作为录制信息。
在另一种实施方式中,S102步骤可以包括:
步骤31:利用html2canvas对前端页面进行图片绘制处理,得到录制信息。
html2canvas是一个JS工具,具体是一个JavaScript类库,其使用了html5(由万维网联盟于2014年10月29日宣布的HTML最新修订版本)和css3(是CSS技术的升级版本,CSS即层叠样式表Cascading StyleSheet,是一种在网页制作时采用的层叠样式表技术,其可以有效地对页面的布局、字体、颜色、背景和其它效果进行精确地控制)的一些新功能特性,实现了在电子设备上对网页进行截图的功能。html2canvas通过获取前端页面的DOM(文件对象模型Document Object Model,是处理可扩展置标语言的标准编程接口)和元素的样式信息,并将其渲染成canvas图片,从而实现给页面截图的功能。在本实施例中,可以利用html2canvas对前端页面进行多次图片绘制处理,得到多个图像,并将这些图像作为录制信息,以便对前端页面的运行情况进行记录。本实施例并不限定图片绘制处理的具体处理过程,例如可以利用html2canvas直接对前端页面进行绘制,或者可以利用其配合鼠标拖动选择绘制区域,并截取绘制区域内的内容作为录制信息。
在另一种实施方式中,S102步骤可以包括:
步骤41:对前端页面进行DOM事件监控,得到录制信息。
在本实施例中,还可以对前端页面的DOM事件进行监控,得到对应的录制信息。具体监控方式不做限定,例如在一种实施方式中,可以通过DOM重建的方式模拟鼠标事件,并将得到的鼠标事件作为录制信息。在另一种实施方式中,可以利用Mutation Observer工具对DOM树进行监听,Mutation Observer工具是一个用于监视DOM树,并在DOM树结构发生变化时,做出相应处理的API。DOM树的任何变动,比如节点的增减、属性的变动、文本内容的变动,Mutation Observer都可以得到通知。实际上,Mutation Observer的工作原理与DOM事件十分接近,可以认为在DOM树发生变动时,就会触发Mutation Observer事件。然而,Mutation Observer与事件具有一个本质不同:事件是同步触发,也就是说,DOM树的任何变动均会立刻会触发相应的事件。而Mutation Observer则是异步触发,即DOM树的变动并不会马上触发Mutation Observer,而是要等到当前所有的DOM操作都结束后,才会触发Mutation Observer。这样的设计是为了应付DOM树变动频繁的特点。举例来说,如果文档中连续插入1000个<回车>元素,就会连续触发1000个插入事件,执行每个事件的回调函数,这很可能造成前端页面的卡顿,而Mutation Observer完全不同,只在1000个段落都插入结束后才会触发,而且只触发—次。通过对前端页面的DOM树进行监控,则可以对其执行的DOM事件进行监控,得到的监控结果(即录制信息)可以用于异常回放。
需要说明的是,在本实施例中,可以采用一种或多种录制信息获取方式获取录制信息,例如可以采用上述三种中的任意一种方式获取录制信息,或者从中选择任意若干方式获取录制信息。进一步的,在选择多种方式生成录制信息时,本实施例也不限定各种方式的具体执行方式,例如可以并行执行,即同时利用多种方式生成录制信息,或者可以串行执行。再进一步的,当存在多种生成方式得到的多个录制信息时,本实施例也不限定后续进行异常回放的具体方式,例如可以分别利用各个录制信息进行异常回放,并得到对应的初始第二前端错误,对各个录制信息对应的初始第二前端错误进行合并和去重,得到第二前端错误。
S103:在沙盒环境中利用录制信息进行异常回放,得到目标文档。
在得到录制信息后,可以利用其进行异常回放,以便得到表征前端页面运行情况的目标文档。目标文档的具体形式和内容不做限定。一种实施方式中,异常回放的过程,可以为全量DOM渲染的过程,同样也是前端页面展示自身运行情况的DOM文档的生成过程,在这种情况下,目标文档即为DOM文档。为了保证安全,在异常回放前可以构建沙盒环境,并在沙盒环境中进行异常回放。本实施例并不限定沙盒环境的具体构建方式,例如可以安装virtualenv工具,其可以自动构建虚拟环境(即沙盒环境),并可以在指定的路径下启动沙盒环境,该指定路径的具体内容不做限定,例如可以为C:\Users\Administrator\python36_env\Scripts\python.exe。
S104:解析目标文档,得到第二前端错误。
在得到目标文档后对其解析,进而确定第二前端错误。根据目标文档的形式不同,具体的解析方式可以不同,例如当目标文档为DOM文档时,可以进行操作队列排序操作,将操作队列与DOM文档相互对应,进而确定哪些操作导致DOM文档中记录的错误,实现对第二前端错误的定位。在一种具体的实施方式中,在异常回放的过程中可能出现超时错误,例如响应超时等。其本身并不是第二前端错误,但是同样会被记录在目标文档中。在这种情况下,请参考图2,图2为本申请实施例提供的一种具体的第二前端错误获取方法流程图,S104步骤可以包括:
S201:读取目标文件,确定候选错误。
本实施例中,候选错误为直接读取目标文件后确定的错误,其具体数量和内容不做限定。
S202:统计各个候选错误对应的时长,并利用时长在候选错误中确定超时错误。
通过统计各个候选错误对应的时长,可以基于该时长判断候选错误是不是超时错误,例如网络超时错误,或者为响应超时错误,具体的,可以利用计时器对各个候选错误进行计时,得到时长,并将时长与预设时长进行比较。若大于预设时长,则对应的候选错误即为超时错误。
S203:将候选错误中的超时错误滤除,得到第二前端错误。
在确定超时错误后,将其滤除,仅保留不是超时错误的候选错误,这些被保留的错误即为第二前端错误。
进一步,在识别到第一前端错误和第二前端错误后,还可以对其进行修复,以便降低前端页面的错误率和错误次数。具体的,还可以包括:
步骤51:利用函数劫持处理对第一前端错误和第二前端错误进行修复。
函数劫持即为在一个函数运行之前将其暂停下来,并在其中添加新的内容,使其能够实现相应的功能。当该函数再被修改后实际运行时,其本身已经不是原本的函数,而是增加了新增内容对应的功能。因此函数劫持的本质就是将函数进行重新编写。故此,为了防止函数在被劫持后出现问题,便于进行回滚,可以在函数劫持之前,先将未被修改的原始函数进行保存。本实施例并不限定错误修复的具体过程,根据第一前端错误和第二前端错误的具体内容不同,函数劫持处理的具体过程也不同。
应用本申请实施例提供的前端错误检测方法,对前端页面进行同步错误、语法错误和异步错误的捕获,由于在前端页面运行时会调用相应的接口,在调用接口时可能会出现错误,因此可以从多个角度对前端页面运行时因接口调用产生的错误进行捕获,得到第一前端错误。同时,前端页面在正常调用接口的情况下可能因为其他原因出现错误,因此可以对前端页面中的具体操作进行录制,得到录制信息,并在沙盒环境中基于该录制信息进行异常回放,即根据录制信息对前端页面的运行过程进行重放,得到记录前端页面运行情况的目标文档。通过解析目标文档,可以得到前端页面运行时的页面错误,即第二前端错误。通过捕获第一前端错误和第二前端错误,实现用两种方式从多个角度对前端错误进行定位的效果,可以检测出粒度较小的前端错误,实现对前端错误的准确定位,进而降低前端页面的错误率,解决了无法准确地定位前端错误的问题。
下面对本申请实施例提供的前端错误检测装置进行介绍,下文描述的前端错误检测装置与上文描述的前端错误检测方法可相互对应参照。
请参考图3,图3为本申请实施例提供的一种前端错误检测装置的结构示意图,包括:
第一获取模块110,用于对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;
录制模块120,用于对前端页面进行页面录制,得到录制信息;
回放模块130,用于在沙盒环境中利用录制信息进行异常回放,得到目标文档;
第二获取模块140,用于解析目标文档,得到第二前端错误。
可选地,第一获取模块110,包括:
同步捕获单元,用于对前端页面进行全局捕获处理和基于框架钩子的异常捕获处理,得到同步错误;
单点捕获单元,用于对前端页面进行单点捕获处理,得到语法错误;
异步捕获单元,用于对前端页面进行异步捕获处理,得到异步错误;
确定单元,用于将同步错误、语法错误和异步错误确定为第一前端错误。
可选地,录制模块120,包括:
视音频录制单元,用于利用网页即时通信接口对前端页面进行视频和/或音频录制,得到录制信息。
可选地,录制模块120,包括:
事件监控单元,用于对前端页面进行DOM事件监控,得到录制信息。
可选地,录制模块120,包括:
图片绘制单元,用于利用html2canvas对前端页面进行图片绘制处理,得到录制信息。
可选地,第二获取模块140,包括:
读取单元,用于读取目标文件,确定候选错误;
超时确定单元,用于统计各个候选错误对应的时长,并利用时长在候选错误中确定超时错误;
过滤单元,用于将候选错误中的超时错误滤除,得到第二前端错误。
可选地,还包括:
修复模块,用于利用函数劫持处理对第一前端错误和第二前端错误进行修复。
下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的前端错误检测方法可相互对应参照。
请参考图4,图4为本申请实施例提供的一种电子设备的结构示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制电子设备100的整体操作,以完成上述的前端错误检测方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的前端错误检测方法。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的前端错误检测方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的前端错误检测方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种前端错误检测方法,其特征在于,包括:
对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;
对所述前端页面进行页面录制,得到录制信息;
在沙盒环境中利用所述录制信息进行异常回放,得到目标文档;
解析所述目标文档,得到第二前端错误。
2.根据权利要求1所述的前端错误检测方法,其特征在于,所述对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误,包括:
对所述前端页面进行全局捕获处理和基于框架钩子的异常捕获处理,得到所述同步错误;
对所述前端页面进行单点捕获处理,得到所述语法错误;
对所述前端页面进行异步捕获处理,得到所述异步错误;
将所述同步错误、所述语法错误和所述异步错误确定为所述第一前端错误。
3.根据权利要求1所述的前端错误检测方法,其特征在于,所述对所述前端页面进行页面录制,得到录制信息,包括:
利用网页即时通信接口对所述前端页面进行视频和/或音频录制,得到所述录制信息。
4.根据权利要求1所述的前端错误检测方法,其特征在于,所述对所述前端页面进行页面录制,得到录制信息,包括:
对所述前端页面进行DOM事件监控,得到所述录制信息。
5.根据权利要求1所述的前端错误检测方法,其特征在于,所述对所述前端页面进行页面录制,得到录制信息,包括:
利用html2canvas对前端页面进行图片绘制处理,得到所述录制信息。
6.根据权利要求1所述的前端错误检测方法,其特征在于,所述解析所述目标文档,得到第二前端错误,包括:
读取所述目标文件,确定候选错误;
统计各个所述候选错误对应的时长,并利用所述时长在所述候选错误中确定超时错误;
将所述候选错误中的所述超时错误滤除,得到所述第二前端错误。
7.根据权利要求1所述的前端错误检测方法,其特征在于,在得到第二前端错误之后,还包括:
利用函数劫持处理对所述第一前端错误和所述第二前端错误进行修复。
8.一种前端错误检测装置,其特征在于,包括:
第一获取模块,用于对前端页面进行同步错误、语法错误和异步错误捕获处理,得到第一前端错误;
录制模块,用于对所述前端页面进行页面录制,得到录制信息;
回放模块,用于在沙盒环境中利用所述录制信息进行异常回放,得到目标文档;
第二获取模块,用于解析所述目标文档,得到第二前端错误。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的前端错误检测方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的前端错误检测方法。
CN202011445125.7A 2020-12-11 2020-12-11 一种前端错误检测方法、装置、电子设备及可读存储介质 Withdrawn CN112527643A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011445125.7A CN112527643A (zh) 2020-12-11 2020-12-11 一种前端错误检测方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011445125.7A CN112527643A (zh) 2020-12-11 2020-12-11 一种前端错误检测方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN112527643A true CN112527643A (zh) 2021-03-19

Family

ID=75000340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011445125.7A Withdrawn CN112527643A (zh) 2020-12-11 2020-12-11 一种前端错误检测方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112527643A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361580A (zh) * 2022-08-18 2022-11-18 杭州分叉智能科技有限公司 一种rpa机器人运行的屏幕画面录制方法
CN116756053A (zh) * 2023-08-22 2023-09-15 青岛民航凯亚系统集成有限公司 基于录屏回放的前端项目测试问题上报分配方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320343A1 (en) * 2007-06-20 2008-12-25 Microsoft Corporation Web page error reporting
CN105786712A (zh) * 2016-03-28 2016-07-20 广州酷狗计算机科技有限公司 网页测试方法及装置
CN110287056A (zh) * 2019-07-04 2019-09-27 郑州悉知信息科技股份有限公司 网页错误信息获取方法和装置
CN111078519A (zh) * 2019-12-13 2020-04-28 杭州安恒信息技术股份有限公司 异常监控行为回溯的方法、装置和电子设备
CN111309547A (zh) * 2020-01-21 2020-06-19 北京百度网讯科技有限公司 网页信息获取方法、装置和电子设备
CN111752793A (zh) * 2020-05-27 2020-10-09 中国平安财产保险股份有限公司 系统异常的监控方法、装置、计算机设备及存储介质
CN111818123A (zh) * 2020-05-28 2020-10-23 中国平安财产保险股份有限公司 网络前端远程回放方法、装置、设备及存储介质
CN111897713A (zh) * 2020-06-22 2020-11-06 广州市玄武无线科技股份有限公司 一种基于paas平台前端引擎异常的友好提示方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320343A1 (en) * 2007-06-20 2008-12-25 Microsoft Corporation Web page error reporting
CN105786712A (zh) * 2016-03-28 2016-07-20 广州酷狗计算机科技有限公司 网页测试方法及装置
CN110287056A (zh) * 2019-07-04 2019-09-27 郑州悉知信息科技股份有限公司 网页错误信息获取方法和装置
CN111078519A (zh) * 2019-12-13 2020-04-28 杭州安恒信息技术股份有限公司 异常监控行为回溯的方法、装置和电子设备
CN111309547A (zh) * 2020-01-21 2020-06-19 北京百度网讯科技有限公司 网页信息获取方法、装置和电子设备
CN111752793A (zh) * 2020-05-27 2020-10-09 中国平安财产保险股份有限公司 系统异常的监控方法、装置、计算机设备及存储介质
CN111818123A (zh) * 2020-05-28 2020-10-23 中国平安财产保险股份有限公司 网络前端远程回放方法、装置、设备及存储介质
CN111897713A (zh) * 2020-06-22 2020-11-06 广州市玄武无线科技股份有限公司 一种基于paas平台前端引擎异常的友好提示方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361580A (zh) * 2022-08-18 2022-11-18 杭州分叉智能科技有限公司 一种rpa机器人运行的屏幕画面录制方法
CN115361580B (zh) * 2022-08-18 2023-11-03 杭州分叉智能科技有限公司 一种rpa机器人运行的屏幕画面录制方法
CN116756053A (zh) * 2023-08-22 2023-09-15 青岛民航凯亚系统集成有限公司 基于录屏回放的前端项目测试问题上报分配方法及系统

Similar Documents

Publication Publication Date Title
US8433733B2 (en) Web application record-replay system and method
US8326922B2 (en) Method for server-side logging of client browser state through markup language
US9342237B2 (en) Automated testing of gesture-based applications
CN107967209B (zh) 一种检测前端网页代码中错误的方法、检测设备及服务器
US9355003B2 (en) Capturing trace information using annotated trace output
CN111752793A (zh) 系统异常的监控方法、装置、计算机设备及存储介质
CN111818123A (zh) 网络前端远程回放方法、装置、设备及存储介质
CN112527643A (zh) 一种前端错误检测方法、装置、电子设备及可读存储介质
WO2017206476A1 (zh) 一种cpu占用的检测方法、装置及设备
CN111813629A (zh) 一种Web页面的监控数据生成方法、装置及设备
US9697107B2 (en) Testing applications
CN110990842A (zh) 一种小概率事件的复现方法、装置、存储介质及电子设备
CN110879781A (zh) 程序调试方法、装置、电子设备及计算机可读存储介质
CN110888731B (zh) 路由数据采集方法、装置、设备及存储介质
CN107038117B (zh) 一种基于事件处理函数间定义-引用的web自动化测试方法
CN113987393A (zh) 一种网页操作记录器、系统、装置及方法
CN111949903B (zh) 一种网页数据采集方法、装置、设备及可读存储介质
CN113868502A (zh) 一种页面爬虫方法、装置、电子设备及可读存储介质
CN114398673A (zh) 应用程序的合规检测方法、装置、存储介质与电子设备
CN110045952B (zh) 代码调用方法与装置
US20230065492A1 (en) Method for obtaining browser running data, electronic device, and storage medium
CN112131111A (zh) 一种对页面进行自动化测试的方法、装置和存储介质
CN104077210A (zh) 一种客户端崩溃的定位方法及系统
Roehm et al. Automated extraction of failure reproduction steps from user interaction traces
CN111124627A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210319