zoukankan      html  css  js  c++  java
  • Android APP压力测试(三)之Monkey日志自动分析脚本

    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:Monkey20140808FindyouV1.0.020140825181801_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、异常

  • 相关阅读:
    MySQL灾备切换
    crontab 定时任务
    Mysql常用命令 详细整理版
    linux 常用命令
    shell逻辑运算总结, 包括[[]]与[]的区别,&&与-a的区别,||与-o的区别
    linux端口详解大全
    编译安装php5.6
    linux给用户添加sudo权限
    Effective C#(二)
    Effective C#(一)
  • 原文地址:https://www.cnblogs.com/findyou/p/4106285.html
Copyright © 2011-2022 走看看