我們用monkey做壓力測試后,會保存一個monkey日志,那如果想快速的分析日志中有哪些異常,我們可以用批處理工具進行快速的篩查,我們一起來看看吧。
先編寫個小腳本,然后修改為bat后綴即可;然后把monkey日志拖動到bat工具中即可快速篩查。
小腳本如下:
@ECHO OFF
ECHO.:::::::::::::::::::::::::::::::::::::::::::::::::
ECHO.:: 分析Monkey日志 ::
ECHO.:::::::::::::::::::::::::::::::::::::::::::::::::
REM 方法一:手動設置Monkey日志路徑
SET monkeyLogFile=D:*info.log
REM 方法二:直接將Monkey日志拖到此bat文件上
IF NOT "%1"=="" SET monkeyLogFile=%1
ECHO.[ INFO ] Monkey日志: %monkeyLogFile%
ECHO.[ INFO ] 開始分析
SET blnException=0
ECHO.
ECHO.
REM 如果覺得分析太快,沒有感覺,把下面注釋去掉假裝分析中,有停頓感
REM ping -n 2 127.0.0.1>nul
::ANR日志
FOR /F "delims=" %%a IN ('FINDSTR /C:"ANR" %monkeyLogFile%') DO (
SET strANR=%%a
)
::崩潰日志
FOR /F "delims=" %%a IN ('FINDSTR /C:"CRASH" %monkeyLogFile%') DO (
SET strCRASH=%%a
)
::異常日志
FOR /F "delims=" %%a IN ('FINDSTR /C:"Exception" %monkeyLogFile%') DO (
SET strException=%%a
)
::正常
FOR /F "delims=" %%a IN ('FINDSTR /C:"Monkey finished" %monkeyLogFile%') DO (
SET strFinished=%%a
)
IF NOT "%strANR%" == "" (
ECHO.[ INFO ] 分析Monkey日志存在: ANR
ECHO.[ INFO ] ------------------------------------
ECHO. "%strANR%"
SET /a blnException+=1
ECHO.
)
IF NOT "%strCRASH%" == "" (
ECHO.[ INFO ] 分析Monkey日志存在: CRASH
ECHO.[ INFO ] ------------------------------------
ECHO. "%strCRASH%"
SET /a blnException+=1
ECHO.
)
IF NOT "%strException%" == "" (
ECHO.[ INFO ] 分析Monkey日志存在: 異常
ECHO.[ INFO ] ------------------------------------
ECHO. "%strException%"
SET /a blnException+=1
)
IF NOT "%strFinished%" == "" (
ECHO.[ INFO ] 分析Monkey日志存在: 執行成功標記
ECHO.[ INFO ] ------------------------------------
ECHO. "%strFinished%"
ECHO.
) ELSE (
IF %blnException% EQU 0 ECHO.[ INFO ] 分析Monkey日志結果: Monkey執行異常中斷,請重新執行Monkey腳本!
ECHO.
)
REM 如果blnException不為0,說明存在異常,改變字體為淡紫色
IF %blnException% NEQ 0 (
Color 0D
ECHO.[ INFO ] 分析Monkey日志結果:存在異常日志,請手工再仔細檢查!
ECHO.
) ELSE (
ECHO.[ INFO ] 分析Monkey日志結果:正常
ECHO.
)
ECHO.
ECHO.[ EXIT ] 按任意鍵關閉窗口...
PAUSE>nul