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、异常

Android APP压力测试(三)之Monkey日志自动分析脚本的更多相关文章

  1. Android APP压力测试(二)之Monkey信息自动收集脚本

      Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...

  2. Android APP压力测试(一)之Monkey工具介绍

    Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...

  3. Android App 压力测试 monkeyrunner

    Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...

  4. Android自动化压力测试图解教程——Monkey工具

    [置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...

  5. Monkey Android app稳定性测试工具之Monkey使用教程

    Monkey Android app稳定性测试工具之Monkey使用教程 by:授客 QQ:1033553122 由于篇幅问题,仅提供百度网盘下载链接: Android app稳定性测试工具之Monk ...

  6. Android APP压力测试-Monkey

    压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ...

  7. android app 压力测试工具-monkey tool

    一.什么是Monkey? Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. Monkey是A ...

  8. Android自动化压力测试图解教程——Monkey工具 (转)

    有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. ...

  9. Android APP压力测试实战

    环境准备: Android SDK Python   压测实战步骤 1.在手机开发者工具中,将USB调试选上 2.确认手机,电脑成功连接(通过adb devices) 3.安装测试app(adb in ...

随机推荐

  1. PHP uniqid 高并发生成不重复唯一ID

    http://www.51-n.com/t-4264-1-1.html PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳.在高并发或者间隔时长极短(如循环代码)的情 ...

  2. 远程桌面连接 win7 主机提示“您的凭据不工作”的解决办法

    搞了大半天,找了百度N中方式操作,至少翻看10种以上解决方式,结果还是不得行 索性使用了360搜索,搜了几次就搞定了. 解决办法: “ 最重要一点, 主机上要允许用户以非guest身份登录:主机上运行 ...

  3. Window.focus()让页面成为当前窗体

    Window.focus()让页面成为当前窗体 最近在弄在线客服的时候,想在收到信息时候让窗体自动弹出到最前,最小化的时候也是弹出到最前.本来以为很麻烦,问了好多人,都不知道,在网上查资料也没有查到. ...

  4. 纯jQuery-添加/修改/删除 标签,属性

    <h1>通过学习<精彩绝伦的jQuery>与W3C,大致了解JQuery的一些方法.</h1> PS:需要有一些前置条件,比如JQuery源代码,比如html就要有 ...

  5. 深入NSQ 之旅[转载]

    介绍 NSQ是一个实时的分布式消息平台.它的设计目标是为在多台计算机上运行的松散服务提供一个现代化的基础设施骨架.这篇文章介绍了 基于go语言的NSQ的内部架构,它能够为高吞吐量的网络服务器带来 性能 ...

  6. HTML和CSS经典布局3

    如下图: 需求: 1. 如图 2. 可以从body标签开始. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht ...

  7. Stop Googling!

    http://www.experts-exchange.com/Programming/Languages/Java

  8. Java 积累复习用

    1.jvm 默认编码:Java的默认编码 2.jvm heap : Java虚拟机的内存组成以及堆内存介绍 3.Java命令学习系列(一)--Jps 4.Java命令学习系列(二)--Jstack 5 ...

  9. 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

    1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...

  10. Policy Management

    策略管理用于管理数据库实例.数据库以及数据库对象的各种属性,Policy Management 位于Management Catalog下, 一,Basic concepts 引用园子里深蓝的博客&l ...