Android APP压力测试(三)之Monkey日志自动分析脚本

2014-11-18  旺友 

Android APP压力测试(三)

之Monkey日志自动分析脚本

 

 

前言

       上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文。

 

 

[目录]

1、Monkey日志分析脚本

2、脚本原理

3、操作实例

 

 

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分析.bat
b、执行脚本:方法一:手动设置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、异常

 

 

402°/4027 人阅读/0 条评论 发表评论

登录 后发表评论