Android APP压力测试(三)之Monkey日志自动分析脚本
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、异常
Android APP压力测试(三)之Monkey日志自动分析脚本的更多相关文章
- Android APP压力测试(二)之Monkey信息自动收集脚本
Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...
- Android APP压力测试(一)之Monkey工具介绍
Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...
- Android App 压力测试 monkeyrunner
Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...
- Android自动化压力测试图解教程——Monkey工具
[置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...
- Monkey Android app稳定性测试工具之Monkey使用教程
Monkey Android app稳定性测试工具之Monkey使用教程 by:授客 QQ:1033553122 由于篇幅问题,仅提供百度网盘下载链接: Android app稳定性测试工具之Monk ...
- Android APP压力测试-Monkey
压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ...
- android app 压力测试工具-monkey tool
一.什么是Monkey? Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. Monkey是A ...
- Android自动化压力测试图解教程——Monkey工具 (转)
有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. ...
- Android APP压力测试实战
环境准备: Android SDK Python 压测实战步骤 1.在手机开发者工具中,将USB调试选上 2.确认手机,电脑成功连接(通过adb devices) 3.安装测试app(adb in ...
随机推荐
- Java环境设置
win7/win8下JDK环境变量设置方法 首先需要到官网上下载JDK这款软件,本人下载的是jdk-7u40-windows-i586版本,安装完成显示jdk1.7.0_67. 其次选择安装路径.本人 ...
- Android 中关于ListView分割线的设置
今天发现许多App上的listview的item之间的分割线都只显示了右边一部分,而左边的那一半则没有,第一反应则是给分割线设置一张背景图片就ok了: android:divider="@m ...
- java入门第三步之数据库连接
数据库连接可以说是学习web最基础的部分,也是非常重要的一部分,今天我们就来介绍下数据库的连接为下面学习真正的web打下基础 java中连接数据库一般有两种方式: 1.ODBC——Open Datab ...
- 【腾讯Bugly干货分享】美团大众点评 Hybrid 化建设
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/rNGD6SotKoO8frmxIU8-xw 本期 T ...
- .Net组件程序设计之远程调用(二)
.Net组件程序设计之远程调用(二) 激活模式 引用封送对象激活类型两种, 一种是客户端激活类型,一种是服务器端激活. 客户端激活对象 客户端激活方式:当客户端创建一个远程对象时,客户端得到的是一个新 ...
- ASP.NET Web API的Controller是如何被创建的?
Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象.调用请求的URI会携带目标HttpC ...
- java中构造方法的特殊性
构造方法名与类名相同 构造方法没有返回值,也不能写void 构造方法的主要作用是完成对对象的初始化工作 构造方法一般不由编程人员显示调用,而是由new来调用 在创建一个类的对象的同时,系统会自动调用该 ...
- promise实现原理
先看的这篇有问题的文章 花了很长时间研究这篇文章,卡在实现串行Promise那儿了,一直看不明白.就在刚才,发现这篇文章是错的,在第一次用setTimeout( ,0)那儿就错了.虽然用setTime ...
- AMD规范与CMD规范的区别
AMD规范与CMD规范的区别是什么? 在比较之前,我们得先来了解下什么是AMD规范?什么是CMD规范?当然先申明一下,我个人也是总结下而已,也是网上看到的资料,自己总结下或者可以说整理下而已,供 ...
- salesforce 零基础学习(四十八)自定义列表分页之Pagination基类封装 ※※※
我们知道,salesforce中系统标准列表页面提供了相应的分页功能,如果要使用其分页功能,可以访问http://www.cnblogs.com/zero-zyq/p/5343287.html查看相关 ...


