Android APP壓力測試(三)
之Monkey日志自動分析腳本
前言
上次說要分享Monkey日志的分析腳本,這次貼出來分享一下,廢話不多說,請看正文。
[目錄]
1、Monkey日志分析腳本
1)、腳本文件:Monkey_Log分析.bat
@ECHO OFF
ECHO. :: :::::::::::::::::::::::::::::::::::::::::::::::
ECHO. :: 分析Monkey日志 ::
ECHO. :: 作者:Findyou ::
ECHO. :: 版本 V1.0.1 ::
ECHO. :: 時間:2014.08.26 ::
ECHO. :: :::::::::::::::::::::::::::::::::::::::::::::::
REM 方法一:手動設置Monkey日志路徑
SET monkeyLogFile=F:\Monkey\20140808\FindyouV1.0.0\20140825181801_monkey.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
2)、【使用方法】a、保存腳本:Monkey_Log分析.batb、執行腳本:方法一:手動設置Monkey日志路徑,修改腳本中的monkeyFile變量
方法二:直接將Monkey日志拖至bat文件上
★溫馨提示★
*、請定期手工檢查一下結果
2、腳本原理
1)、Monkey結果分析理論:
a、請見本系列的第一篇 《Android APP壓力測試(一)之Monkey工具介紹》 中的第4節:Monkey測試結果分析
2)、腳本核心思想:
a、理論支撐,請見上方 1)
b、搜索關鍵字
c、通過關鍵字判讀有無異常
★溫馨提示★
*、不足,如果Monkey命令存在調試選項如:--ignore-crashes --ignore-timeouts,此腳本還需要增加判斷條件,如有興趣可以自己再優化增強。
3、操作記錄
1)、將Monkey日志拖至bat文件上
![]()
2)、腳本執行結果
a、正常
b、異常
![]()