CN110321271B - 基于Monkey获取异常信息的方法、装置、设备及存储介质 - Google Patents
基于Monkey获取异常信息的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110321271B CN110321271B CN201910477309.2A CN201910477309A CN110321271B CN 110321271 B CN110321271 B CN 110321271B CN 201910477309 A CN201910477309 A CN 201910477309A CN 110321271 B CN110321271 B CN 110321271B
- Authority
- CN
- China
- Prior art keywords
- log
- pressure measurement
- information
- monkey
- preset
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及大数据技术领域,公开了基于Monkey获取异常信息的方法,所述基于Monkey获取异常信息的方法包括:在接收到Monkey命令时,启动Monkey工具执行压测事件;在检测到所述Monkey工具执行所述压测事件时,获取所述压测事件的压测时长以及所述压测事件的进程ID;当所述压测时长或所述压测事件的进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志;若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息。本发明还公开了一种装置、设备及存储介质。本发明实现了避免Monkey工具长时间压测后,日志存在丢失无法获取到应用程序的源生日志以及源生日志中的异常信息。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于Monkey获取异常信息的方法、装置、计算机设备及计算机可读存储介质。
背景技术
由于应用程序布置得比较分散,使得应用程序的集中管理变得很棘手,尤其是在应用程序的运行初期,由于在设计时考虑不周全或其他原因,容易导致应用程序出现许多异常,这些异常包括:程序错误、逻辑错误、硬件故障、网络故障、数据库错误等等,而这些异常信息都存储在应用程序的运行日志中。
目前对于不同商家的Android设备来说,系统默认日志的缓存大小机制存在差异,而在执行Monkey压测时,由于压测时间过长的原因,会导致系统缓存的日志超过缓存限制,会自动删除或覆盖,存在丢失的风险,无法获取到应用程序的源生日志以及源生日志中的异常信息。
发明内容
本发明的主要目的在于提供一种基于Monkey命令的日志生成方法,旨在解决不同Android手机系统存在日志缓存大小的限制,Monkey工具长时间压测后,日志存在丢失无法获取到应用程序的源生日志中的异常信息的技术问题。
为实现上述目的,本发明提供一种基于Monkey获取异常信息的方法,所述基于Monkey获取异常信息的方法包括:
在接收到Monkey命令时,启动Monkey工具执行压测事件;
在检测到所述Monkey工具执行所述压测事件时,获取所述压测事件的压测时长以及所述压测事件的进程ID;
当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;
在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志;
若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息。
可选的,所述当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息之前,获取所述压测事件的压测时长以及所述压测事件的进程ID之后,还包括:
在获取到所述压测时长和所述进程ID时,判断所述压测时长是否满足预置条件;
当所述压测时长等于所述预置时长时,判定所述压测时长满足预置条件;
当所述压测时长小于所述预置时长时,判断所述进程ID是否结束;
当检测到所述进程ID结束时,判定所述压测时长满足预置条件。
可选的,所述当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息,包括:
当所述压测时长或所述进程ID满足预置条件时,接收预置logcat命令;
通过所述预置logcat命令,对第一存储路径中的log日志进行过滤,读取所述log日志中所述进程ID对应的日志信息。
可选的,所述在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志包括:
在读取到所述日志信息时,将所述日志信息存储于所述第二存储路径中,其中,所述日志信息包括日志打印时刻;
当检测到所述第二存储路径中存储多段所述日志信息时,将多段所述日志信息按照日志打印时刻进行拼接,生成所述压测事件的源生日志。
可选的,所述若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息包括:
若生成所述源生日志,提取预置正则表达式,获取所述预置正则表达式中的规则字符串;
通过所述规则字符串对所述源生日志中的字符串进行匹配,获取所述源生日志中的异常信息。
可选的,所述获取所述源生日志中的异常信息之后,还包括:
在获取到所述异常信息时,统计所述异常信息的数量;
判断所述异常信息的数量是否大于或等于预置阈值;
当所述异常信息的数量大于或等于所述预置阈值时,发送警告邮件。
可选的,所述在获取到所述异常数量时,判断所述异常数量是否大于或等于预置阈值之后,还包括:
当所述异常信息的数量小于所述预置阈值时,检测所述异常信息是否包含预置关键词;
在检测到所述异常信息包含所述预置关键词时,发送警告邮件。
此外,为实现上述目的,本发明还提供一种基于Monkey获取异常信息的装置,所述基于Monkey获取异常信息的装置包括:
启动单元,用于在接收到Monkey命令时,启动Monkey工具执行压测事件;
第一获取单元,用于在检测到所述Monkey工具执行所述压测事件时,获取所述压测事件的压测时长以及所述压测事件的进程ID;
读取单元,用于当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;
存储生成单元,在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志;
第二获取单元,用于若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息
可选的,所述基于Monkey获取异常信息的装置具体用于,还包括:
第一判断单元,用于在获取到所述压测时长和所述进程ID时,判断所述压测时长是否满足预置条件;
第一判定单元,用于当所述压测时长等于所述预置时长时,判定所述压测时长满足预置条件;
第二判断单元,用于当所述压测时长小于所述预置时长时,判断所述进程ID是否结束;
第二判定单元,用于当检测到所述进程ID结束时,判定所述压测时长满足预置条件。
可选的,所述第一读取单元具体用于:
当所述压测时长或所述进程ID满足预置条件时,接收预置logcat命令;
通过所述预置logcat命令,对第一存储路径中的log日志进行过滤,读取所述log日志中所述进程ID对应的日志信息。
可选的,所述存储生成单元具体用于:
在读取到所述日志信息时,将所述日志信息存储于所述第二存储路径中,其中,所述日志信息包括日志打印时刻;
当检测到所述第二存储路径中存储多段所述日志信息时,将多段所述日志信息按照日志打印时刻进行拼接,生成所述压测事件的源生日志。
可选的,所述第二获取单元具体用于:
若生成所述源生日志,提取预置正则表达式,获取所述预置正则表达式中的规则字符串;
通过所述规则字符串对所述源生日志中的字符串进行匹配,获取所述源生日志中的异常信息。
可选的,基于Monkey获取异常信息的装置,还包括:
第三获取单元,用于在获取到所述异常信息时,统计所述异常信息的数量;
第三判断单元,用于判断所述异常信息的数量是否大于或等于预置阈值;
第一发送单元,用于当所述异常信息的数量大于或等于所述预置阈值时,发送警告邮件。
可选的,所述基于Monkey命令的日志生成装置,还包括:
检测单元,当所述异常信息的数量小于所述预置阈值时,检测所述异常信息是否包含预置关键词;
第二发送单元,在检测到所述异常信息包含所述预置关键词时,发送警告邮件。
此外,为实现上述目的,本发明还提供一种计算机设备,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Monkey获取异常信息的程序,所述基于Monkey获取异常信息的程序被所述处理器执行时实现如上发明所述基于Monkey获取异常信息的方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于Monkey获取异常信息的程序,所述基于Monkey获取异常信息的程序被处理器执行时实现如上发明所述的基于Monkey获取异常信息的方法的步骤。
本发明实施例提出的一种基于Monkey获取异常信息的方法、装置、计算机设备及计算机可读存储介质,通过在接收到Monkey命令时,启动Monkey工具执行压测事件;在检测到所述Monkey工具执行所述压测事件时,获取所述压测事件的压测时长以及所述压测事件的进程ID;当所述压测时长或所述压测事件的进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志;若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息,实现了避免Monkey工具长时间压测后,日志存在丢失无法获取到应用程序的源生日志以及源生日志中的异常信息。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明基于Monkey获取异常信息的方法第一实施例的流程示意图;
图3为本发明基于Monkey获取异常信息的方法第二实施例的流程示意图;
图4为本发明基于Monkey获取异常信息的方法第三实施例的流程示意图;
图5为本发明基于Monkey获取异常信息的方法第四实施例的流程示意图;
图6为本发明基于Monkey获取异常信息的方法第五实施例的流程示意图;
图7为本发明基于Monkey获取异常信息的方法第六实施例的流程示意图;
图8为本发明基于Monkey获取异常信息的方法第七实施例的流程示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在检测到Monkey工具执行压测事件时,获取压测事件的压测时长以及所述压测事件的进程ID;当压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;在读取到日志信息时,将日志信息存储于第二存储路径中,生成源生日志;若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息。
由于现有技术不同Android手机系统存在日志缓存大小的限制,Monkey工具长时间压测后,日志存在丢失无法获取到应用程序的源生日志以及源生日志中的异常信息的技术问题。
本发明提供一种解决方案,避免Monkey工具长时间压测后,日志存在丢失无法获取到应用程序的源生日志以及源生日志中的异常信息。
如图1所示,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是个人电脑(personal computer,PC),也可以是智能手机、平板电脑、便携计算机等终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于Monkey获取异常信息的程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于Monkey获取异常信息的程序,并执行以下操作:
在接收到Monkey命令时,启动Monkey工具执行压测事件;
在检测到Monkey工具执行压测事件时,获取压测事件的压测时长以及所述压测事件的进程ID;
当压测信息满足压测时长或进程ID条件时,读取缓存于第一存储路径中的日志信息;
在读取到日志信息时,将日志信息存储于第二存储路径中,生成源生日志;
若生成源生日志,则通过预置正则表达式,获取源生日志中的异常信息。
进一步地,处理器1001可以调用存储器1005中存储的基于Monkey获取异常信息的程序,还执行以下操作:
在获取到压测时长和所述进程ID时,判断压测时长是否满足预置条件;
当压测时长等于所述预置时长时,判定压测时长满足预置条件;
当压测时长小于预置时长时,判断进程ID是否结束;
当检测到进程ID结束时,判定压测时长满足预置条件。
进一步地,处理器1001可以调用存储器1005中存储的基于Monkey获取异常信息的程序,还执行以下操作:
当压测时长或进程ID满足预置条件时,接收预置logcat命令;
通过预置logcat命令,对第一存储路径中的log日志进行过滤,读取log日志中进程ID对应的日志信息。
进一步地,处理器1001可以调用存储器1005中存储的基于Monkey获取异常信息的程序,还执行以下操作:
在读取到日志信息时,将日志信息存储于所述第二存储路径中,其中,日志信息包括日志打印时刻;
当检测到第二存储路径中存储多段日志信息时,将多段日志信息按照日志打印时刻进行拼接,生成压测事件的源生日志。
进一步地,处理器1001可以调用存储器1005中存储的基于Monkey获取异常信息的程序,还执行以下操作:
若生成源生日志,提取预置正则表达式,获取预置正则表达式中的规则字符串;
通过规则字符串对源生日志中的字符串进行匹配,获取源生日志中的异常信息。
进一步地,处理器1001可以调用存储器1005中存储的基于Monkey获取异常信息的程序,还执行以下操作:
获取到异常信息时,统计异常信息的数量;
判断异常信息的数量是否大于或等于预置阈值;
当异常信息的数量大于或等于预置阈值时,发送警告邮件。
进一步地,处理器1001可以调用存储器1005中存储的基于Monkey获取异常信息的程序,还执行以下操作:
当异常信息的数量小于预置阈值时,检测异常信息是否包含预置关键词;
在检测到异常信息包含预置关键词时,发送警告邮件。
参照图2,图2为本发明基于Monkey获取异常信息的方法第一实施例,基于Monkey获取异常信息的方法包括:
步骤S10,在接收到Monkey命令时,启动Monkey工具执行压测事件;
终端在接收到Monkey命令时,启动终端中的Monkey工具。终端接收到Monkey命令具体为当用户打开终端的命令提示窗口,在命令提示窗口中输入Monkey命令。终端根据输入的Monkey命令,启动Monkey命令对应的Monkey工具。当终端启动Monkey工具时,向指定的应用程序执行压力测试。Monkey工具是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。其原理为:向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等,实现对正在开发的应用程序进行压力测试。待测事件为终端中的应用程序,终端中有多个应用程序时,终端根据预先设置的待压力测试的应用程序,向指定的待应用程序执行压力测试。
步骤S20,在检测到Monkey工具执行压测事件时,获取压测事件的压测时长以及压测事件的进程ID;
当终端检测到Monkey工具执行压测事件时,获取压测事件的压测信息。压测信息包括预置压测事件的次数、压测事件的时间、压测事件的进程ID以及压测事件的日志信息等。具体为,终端在检测到Monkey工具执行压测事件时,获取Monkey工具执行压测事件所产生的时间以及Monkey工具执行压测事件的进程ID。进程ID是大多数操作系统的内核用于唯一标识进程的一个数值。就是进程的绰号,这一数值可以作为许多函数调用的参数,以使调整进程优先级、kill(命令)进程之类的进程控制行为成为可能。
步骤S30,当压测时长或压测事件的进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;
当终端获取到压测事件的次数等于预置次数时,终端读取缓存机制中的Monkey工具执行压测事件所产生的日志信息。例如,当终端获取到压测信息为压测事件的次数和进程ID时,判断获取到的压测事件的次数是否满足预置条件。当压测事件的次数等于预置次数时,判定压测信息满足预置条件;当压测事件的次数小于预置次数时,判断压测事件的进程ID是否结束。当终端检测到压测事件的进程ID结束时,判定压测信息满足预置条件。或者,当终端获取到压测事件的日志信息及进程ID时,判断获取到压测事件的日志信息是否满足预置条件。当日志信息所占内存等于预置的缓存内存时,判定压测信息满足预置条件;当日志日志信息所占内存小于预置的缓存内存时,判断压测事件的进程ID是否结束。当终端检测到压测事件的进程ID结束时,判定压测信息满足预置条件。当压测事件的次数或压测事件的日志信息满足预置条件时,读取缓存于第一存储路径中的日志信息。其中Monkey工具执行压测事件所产生的日志信息全部存储于缓存机制中,缓存进制为第一存储路径。
步骤S40,在读取到所述日志信息时,将日志信息存储于第二存储路径中,生成源生日志。
在终端读取到日志信息时,将读取到的日志信息存储于第二存储路径中。其中第二存储路径可以时终端内部的存储路径,也可以是外部存储路径。当Monkey工具在执行完压测事件后,终端将第二存储路径中的每次读取到的日志信息进行整体,其中日志信息包括读取日志的时刻。终端根据读取到的日志时刻进行整体,生成压测事件的源生日志。
步骤S50,若生成源生日志,则通过预置正则表达式,获取源生日志中的异常信息。
当终端获取到压测事件的源生日志时,判断获取到的源生日志是否满足预置的正则匹配条件。正则匹配为正则表达式,正则表达式中的规则字符串对源生日志中的字串符数据进行匹配,判断源生日志中的字串符数据是否满足正则表达式中的规则字符串。正则表达式,又称规则表达式(regular expression),在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。当判定源生日志满足预置正则匹配时,从而获取到源生日志中的异常信息。
在本实施例中,终端在接收到Monkey命令时,启动Monkey工具执行压测事件,获取到Monkey工具执行压测事件所产生的压测信息,在压测信息满足预置条件时,读取缓存于第一存储路径中的日志信息,并将读取到的日志信息存储到第二存储路径中,生成压测事件的源生日志,若生成源生日志,则通过预置正则表达式,获取源生日志中的异常信息。避免不同Android手机系统存在日志缓存大小的限制,Monkey工具长时间压测后,日志存在丢失无法获取应用程序的源生日志以及源生日志中的异常信息。
参照图3,图3为本发明基于Monkey获取异常信息的方法第二实施例,基于上述图2所示的实施例,步骤S20之后,步骤S30之前包括:
步骤S60,在获取到压测时长和所述进程ID时,判断压测时长是否满足预置条件;
步骤S70,当压测时长等于所述预置时长时,判定压测时长满足预置条件;
步骤S80,当压测时长小于所述预置时长时,判断进程ID是否结束;
步骤S90,当检测到进程ID结束时,判定压测时长满足预置条件。
在终端获取到Monkey工具执行压测事件所产生的时间以及Monkey工具执行压测事件的进程ID时,判断Monkey工具执行压测事件所产生的时间是否满足预置条件。当Monkey工具执行压测事件所产生的时间等于预置时长时,判定Monkey工具执行压测事件所产生的时间满足预置条件;当Monkey工具执行压测事件所产生的时间小于预置时长时,判断Monkey工具执行压测事件的进程ID是否结束;当终端检测到Monkey工具执行压测事件的进程ID结束时,判定Monkey工具执行压测事件所产生的时间小于预置时长也满足预置条件。
在本实施例中,终端在获取到Monkey工具执行压测事件所产生的时间以及Monkey工具执行压测事件的进程ID时,判断Monkey工具执行压测事件所产生的时间是否满足预置条件,当Monkey工具执行压测事件所产生的时间或Monkey工具执行压测事件的进程ID满足预置条件时,判定Monkey工具执行压测事件所产生的时间满足预置条件,通过Monkey工具执行压测事件所产生的时间和Monkey工具执行压测事件的进程ID,快速的获取到Monkey工具执行压测事件的具体信息。
参照图4,图4为本发明基于Monkey获取异常信息的方法第三实施例,基于上述图2所示的实施例,步骤S30包括:
步骤S31,当压测时长或进程ID满足预置条件时,接收预置logcat命令;
步骤S32,通过预置logcat命令,对第一存储路径中的log日志进行过滤,读取log日志中进程ID对应的日志信息。
当终端判定Monkey工具执行压测事件所产生的时间或Monkey工具执行压测事件的进程ID满足预置条件时,接收预置logcat命令。logcat是Android编程中一个命令行工具,可以用于得到待检测事件的日志信息,可以在,调试工具(android debug bridge,ADB)中使用,ADB也可以直接在命令行下使用。当终端接收到预置logcat命令时,通过预置logcat命令对在第一缓存路径中预置时长内Monkey工具对待测事件执行多次压测并获取多次打印的log日志进行过滤,获取进程ID对应的日志信息,具体为logcat中设置有预存的进程ID类型,而第一存储路径的log日志中存储有多个类型的进程ID对应的日志信息,通过预置logcat对log日志进行过滤,从而获取到预置进程ID类型的日志信息,同时日志信息在打印时,会记录日志日志信息的打印时刻。,第一存储路径是系统的缓存内存。
在本实施例中,终端在判定Monkey工具执行压测事件所产生的时间或Monkey工具执行压测事件的进程ID满足预置条件时,接收预置logcat命令,对第一存储路径中的log日志进行过滤,读取log日志中进程ID对应的日志信息。通过预置时长,在压测事件的压测时长或进程ID满足预置压测条件下,通过预置logcat,快速的获取到进程ID对应的日志信息,从而对压测事件所产生的log日志进行分类。
参照图5,图5为本发明基于Monkey命令的日志生成方法第四实施例,基于上述图1所示的实施例,步骤S40包括:
步骤S41,在读取到日志信息时,将日志信息存储于第二存储路径中,其中,日志信息包括日志打印时刻;
步骤S42,当检测到第二存储路径中存储多段日志信息时,将多段日志信息按照日志打印时刻进行拼接,生成压测事件的源生日志。
当检测到Monkey工具停止运行时,将读取到的Monkey工具执行压测事件打印的日志及打印日志的时刻,按照打印日志时刻的先后顺序在第二存储路径中进行汇总拼接;或者,当终端检测到Monkey工具还在运行时,将读取到的Monkey工具执行压测事件打印的日志及打印日志的时刻,按照打印日志时刻的先后顺序进行在第二存储路径中进行汇总拼接,生成待测事件的源生日志。具体为当终端获取到Monkey工具在预先设置时长对同一压测事件打印的一次或多次日志时,读取日志的打印时刻。将读取到的一次或多次日志按照打印的时刻的先后顺序进行汇总拼接,生成压测事件的源生日志。
在本实施例中,终端在检测到Monkey工具停止运行或还在运行时,将读取到第一存储路径中Monkey工具执行压测事件打印的日志及打印日志的时刻,按照打印日志时刻的先后顺序进行汇总拼接,生成压测事件的源生日志。避免了Monkey工具长时间压测后,logcat日志存在丢失无法获取应用程序的源生日志。
参照图6,图6为本发明基于Monkey命令的日志生成方法第五实施例,基于上述图1所示的实施例,步骤S50包括:
步骤S51,若生成源生日志,提取预置正则表达式,获取预置正则表达式中的规则字符串;
步骤S52,通过规则字符串对源生日志中的字符串进行匹配,获取源生日志中的异常信息。
当将读取带到的日志信息存储到第二存储路径中,检测到第二存储路径中的多段日志信息时,获取各个日志信息的打印时刻,按照打印时刻进行拼接,生成压测事件的源生日志,提取预置正则表达式,获取预置正则表达式中的规则字符串,将源生日志中的字符串与正则表达式中的规则字符串进行比对,将比对成功的字符串数据作为异常信息。或者,提取正则表达式中的正则表,获取到规则字符串,正则表通常被用来检索、替换那些符合某个模式的文本。正则表达式是对字符串,也包括普通字符。例如,a到z之间的字母和特殊字符元字符操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
在本事实例中,若生成源生日志,提取预置正则表达式,获取预置正则表达式中的规则字符串,通过规则字符串对源生日志中的字符串进行匹配,获取源生日志中的异常信息,通过预置正则表达式,可以获取到完整的源生日志中的异常信息,避免异常信息的缺失。
参照图7,图7为本发明基于Monkey命令的日志生成方法第六实施例,基于上述图2所示的实施例,步骤S40之后,还包括:
步骤S100,在获取到所述异常信息时,统计所述异常信息的数量;
步骤S110,判断异常信息的数量是否大于预置阈值;
步骤S120,当异常信息的数量大于或等于预置阈值时,发送警告邮件。当终端获取到源生日志中的异常信息时统计压测事件的异常信息的数量,。在获取到异常信息的数量时,判断异常信息的数量是否大于或等于预置阈值,当异常信息的数量大于或等于预置阈值时,发送异常警告邮件,具体为,当终端获取到的异常信息的数量为6条时,而预置阈值为6时,终端判定该异常信息的数量大于预置阈值,启动邮箱。当启动预设的邮箱时,获取预存在该邮箱的发文模板,发文模板包括发文内容、收件人邮箱地址、抄送人邮箱地址、以及标题等。终端根据预存的邮箱信息,向指定人发送警告邮件。
在本实施例中,当终端生成压测时间的源生日志时,获取待源生日志中的异常信息。当获取到异常信息的数量时,判断异常信息的数量是否大于或等于预置阈值,在异常信息的数量大于或等于预置阈值时,发送警告邮件,解决Monkey工具压测后,人工收集统计异常信息耗时耗力问题,以及不能及时通知的问题。
参照图8,图8为本发明基于Monkey命令的日志生成方法第七实施例,基于上述图7所示的实施例,步骤S110之后,还包括:
步骤S130,当异常信息的数量小于预置阈值时,检测异常信息是否包含预置关键词;
步骤S140,在检测到异常信息包含预置关键词时,发送警告邮件。
当终端判定异常信息的数量小于预先设置的阈值时,检测异常信息中是否包含预置关键字。当检测到异常信息中包含有预置关键词时,启动邮箱。当启动预设的邮箱时,获取预存在该邮箱的发文模板,发文模板包括发文内容、收件人邮箱地址、抄送人邮箱地址、以及标题等。终端根据预存的邮箱信息,向指定人发送警告邮件。
在本实施例中,当异常信息的数量小于预置阈值时,终端检测虎丘到异常信息是否包含预置关键字,当异常信息中包含有阈值关键字时,发送警告邮件,解决Monkey工具压测后,人工收集统计异常信息耗时耗力问题,以及不能及时通知的问题。
此外,本发明实施例还提出一种计算机设备,计算机设备包括:存储器、处理器及存储在所述存储器上并可在处理器上运行的基于Monkey获取异常信息的程序,基于Monkey获取异常信息的程序被处理器执行时实现如上实施例的基于Monkey获取异常信息的方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有基于Monkey获取异常信息的程序,基于Monkey获取异常信息的程序被处理器执行时实现如上实施例的基于Monkey获取异常信息的方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于Monkey获取异常信息的方法,其特征在于,所述基于Monkey获取异常信息的包括:
在接收到Monkey命令时,启动Monkey工具执行压测事件;
在检测到所述Monkey工具执行所述压测事件时,获取所述压测事件的压测时长以及所述压测事件的进程ID;
当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;
在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志;其中,所述第二存储路径包括终端内部的存储路径和外部存储路径;
若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息;
所述在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志包括:
在读取到所述日志信息时,将所述日志信息存储于所述第二存储路径中,其中,所述日志信息包括日志打印时刻;
当检测到所述第二存储路径中存储多段所述日志信息时,将多段所述日志信息按照日志打印时刻进行拼接,生成所述压测事件的源生日志;
所述读取到所述日志信息步骤,包括:当终端获取到Monkey工具在预先设置时长对同一压测事件打印的一次或多次日志时,读取日志的打印时刻。
2.如权利要求1所述的基于Monkey获取异常信息的方法,其特征在于,所述当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息之前,获取所述压测事件的压测时长以及所述压测事件的进程ID之后,还包括:
在获取到所述压测时长和所述进程ID时,判断所述压测时长是否满足预置条件;
当所述压测时长等于预置时长时,判定所述压测时长满足预置条件;
当所述压测时长小于所述预置时长时,判断所述进程ID是否结束;
当检测到所述进程ID结束时,判定所述压测时长满足预置条件。
3.如权利要求1所述的基于Monkey获取异常信息的方法,其特征在于,所述当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息,包括:
当所述压测时长或所述进程ID满足预置条件时,接收预置logcat命令;
通过所述预置logcat命令,对第一存储路径中的log日志进行过滤,读取所述log日志中所述进程ID对应的日志信息。
4.如权利要求1所述的基于Monkey获取异常信息的方法,其特征在于,所述若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息包括:
若生成所述源生日志,提取预置正则表达式,获取所述预置正则表达式中的规则字符串;
通过所述规则字符串对所述源生日志中的字符串进行匹配,获取所述源生日志中的异常信息。
5.如权利要求1所述的基于Monkey获取异常信息的方法,其特征在于,所述获取所述源生日志中的异常信息之后,还包括:
在获取到所述异常信息时,统计所述异常信息的数量;
判断所述异常信息的数量是否大于或等于预置阈值;
当所述异常信息的数量大于或等于所述预置阈值时,发送警告邮件。
6.如权利要求5所述的基于Monkey获取异常信息的方法,其特征在于,所述在获取到所述异常信息时,统计所述异常信息的数量,判断所述异常信息的数量是否大于或等于预置阈值之后,还包括:
当所述异常信息的数量小于所述预置阈值时,检测所述异常信息是否包含预置关键词;
在检测到所述异常信息包含所述预置关键词时,发送警告邮件。
7.一种基于Monkey获取异常信息的装置,其特征在于,所述基于Monkey获取异常信息的装置包括:
启动单元,用于在接收到Monkey命令时,启动Monkey工具执行压测事件;
第一获取单元,用于在检测到所述Monkey工具执行所述压测事件时,获取所述压测事件的压测时长以及所述压测事件的进程ID;
读取单元,用于当所述压测时长或所述进程ID满足预置条件时,读取缓存于第一存储路径中的日志信息;
存储生成单元,用于在读取到所述日志信息时,将所述日志信息存储于第二存储路径中,生成源生日志;其中,所述第二存储路径包括终端内部的存储路径和外部存储路径;
第二获取单元,用于若生成所述源生日志,则通过预置正则表达式,获取所述源生日志中的异常信息;
所述存储生成单元,还用于在读取到所述日志信息时,将所述日志信息存储于所述第二存储路径中,其中,所述日志信息包括日志打印时刻;当检测到所述第二存储路径中存储多段所述日志信息时,将多段所述日志信息按照日志打印时刻进行拼接,生成所述压测事件的源生日志;
所述存储生成单元,还用于当终端获取到Monkey工具在预先设置时长对同一压测事件打印的一次或多次日志时,读取日志的打印时刻。
8.一种计算机设备,其特征在于,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Monkey获取异常信息的程序,所述基于Monkey获取异常信息的程序被所述处理器执行时实现如权利要求1至6中任一项所述基于Monkey获取异常信息的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于Monkey获取异常信息的程序,所述基于Monkey获取异常信息的程序被处理器执行时实现如权利要求1至6中任一项所述的基于Monkey获取异常信息的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477309.2A CN110321271B (zh) | 2019-06-03 | 2019-06-03 | 基于Monkey获取异常信息的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477309.2A CN110321271B (zh) | 2019-06-03 | 2019-06-03 | 基于Monkey获取异常信息的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321271A CN110321271A (zh) | 2019-10-11 |
CN110321271B true CN110321271B (zh) | 2022-05-31 |
Family
ID=68119457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910477309.2A Active CN110321271B (zh) | 2019-06-03 | 2019-06-03 | 基于Monkey获取异常信息的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321271B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328461A (zh) * | 2020-10-29 | 2021-02-05 | 无锡先进技术研究院 | 基于分布式存储的性能瓶颈预测方法、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459939A (zh) * | 2018-01-08 | 2018-08-28 | 平安科技(深圳)有限公司 | 一种日志收集方法、装置、终端设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365780B (zh) * | 2013-07-22 | 2016-08-03 | 百度在线网络技术(北京)有限公司 | 异常测试覆盖率计算方法及装置 |
CN105094783B (zh) * | 2014-05-19 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 安卓应用稳定性测试的方法及装置 |
US9384203B1 (en) * | 2015-06-09 | 2016-07-05 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records |
CN105760301B (zh) * | 2016-02-24 | 2019-07-09 | 惠州Tcl移动通信有限公司 | 一种基于Monkey命令的自动化测试方法及系统 |
JP6720788B2 (ja) * | 2016-09-07 | 2020-07-08 | 富士通株式会社 | ログ管理装置及びログ管理プログラム |
CN107402835B (zh) * | 2017-07-25 | 2021-04-06 | Oppo广东移动通信有限公司 | 应用程序的异常处理方法、装置及存储介质和移动终端 |
CN107871015B (zh) * | 2017-11-24 | 2020-08-18 | Oppo广东移动通信有限公司 | 日志数据处理方法及装置、终端及可读存储介质 |
CN109309579B (zh) * | 2018-01-30 | 2021-09-14 | 深圳壹账通智能科技有限公司 | 日志记录处理方法、装置、计算机设备和存储介质 |
US10275449B1 (en) * | 2018-02-19 | 2019-04-30 | Sas Institute Inc. | Identification and parsing of a log record in a merged log record stream |
-
2019
- 2019-06-03 CN CN201910477309.2A patent/CN110321271B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459939A (zh) * | 2018-01-08 | 2018-08-28 | 平安科技(深圳)有限公司 | 一种日志收集方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110321271A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190272062A1 (en) | Systems and methods for identifying faulty touch panel having intermittent field failures | |
CN110309039B (zh) | 自动化获取应用程序日志的方法、装置、设备及存储介质 | |
CN109669795B (zh) | 崩溃信息处理方法及装置 | |
JP5420099B1 (ja) | 個人情報検出装置およびコンピュータプログラム | |
US20180232270A1 (en) | Failure analysis program, failure analysis device, and failure analysis method | |
CN114996103A (zh) | 页面异常检测方法、装置、电子设备和存储介质 | |
CN111274149A (zh) | 测试数据的处理方法及装置 | |
CN110321271B (zh) | 基于Monkey获取异常信息的方法、装置、设备及存储介质 | |
JP4363533B2 (ja) | 文字化けを検出するための装置、方法、及びプログラム | |
JP5687656B2 (ja) | データ変換装置 | |
CN107797917B (zh) | 性能测试脚本生成方法及装置 | |
CN114048099A (zh) | Java应用监控方法及装置、存储介质及电子设备 | |
CN111045934A (zh) | 页面分析方法、装置、客户端、存储介质及电子设备 | |
CN110231921B (zh) | 日志打印方法、装置、设备及计算机可读存储介质 | |
CN107341105A (zh) | 信息处理方法、终端及服务器 | |
CN115525499A (zh) | 硬盘的数据分析方法、装置、电子设备及存储介质 | |
CN105243022B (zh) | 主机应用软件系统的性能数据分析方法及装置 | |
CN113672497B (zh) | 无埋点事件的生成方法、装置、设备及存储介质 | |
CN111199137A (zh) | 一种云端字体加载方法、装置及电子设备 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN113268617A (zh) | 论文元数据的检测方法及装置 | |
CN112632174A (zh) | 一种数据检验的方法、装置和系统 | |
CN112257106A (zh) | 一种数据检测方法及装置 | |
CN104778035A (zh) | 人机交互接口软件组件参数限制、互斥的处理方法及装置 | |
CN111813757B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |