本篇中不记录环境搭建,只是介绍一些经验和小秘诀吧。

一、使用安卓模拟器进行测试。

  在刚刚接触到monkey测试的时候,用的真机进行测试,点击几万次甚至更多的时候,发现系统变慢了。也许是错觉,但是系统经常自动打开音乐什么的,在上班的时候确实很尴尬。于是想到用安卓模拟器来进行测试。

  开始准备安装安卓官方模拟器,各种配置,FQ不说,好不容易安装好了,发现启动超慢。度娘查询了一下,说是可以打开Intel虚拟加速,然而悲剧的发现,工作的电脑并不支持。

  好吧,于是开始研究如何使用网上的一些第三方提供的模拟器。首先,瞄准了一款叫逍遥安卓的模拟器,这款模拟器个人感觉还是不错的,平常也使用它玩一些游戏。(下载地址可以度娘)

  下载安装完成之后,使用如下命令,即可完成连接操作:adb connect 127.0.0.1:21503

  好了,这就完成了。接下来,就可以安装测试的app以及开始Monkey测试了。再也不用担心乱点击消耗手机的寿命或者打开音乐会尴尬了

二、bat文件自动分析日志

  我们在进行monkey测试的时候,会将日志写进文档中,但是查看人工查看日志,是不是感觉很麻烦呢?!而且有时候是正常的,找了半天发现并没有问题,有点浪费时间。于是想办法看有么有自动分析日志的。我大天朝人民是伟大的,还真有人分享,不用自己研究如何写,太好了。贴下来,给大家一起分享,作者名字在代码之中,吃水不忘挖井人。下面的代码复制保存为XXX.bat文件,将要分析的日志拖到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

………………………………………………………………………………………………………………………………………………

Ps:以前在公司的网站上写博客,头一次在博客园写博客,写的不好,大家看看即可,切勿喷我,谢谢大家。

monkey测试小记的更多相关文章

  1. 【初学python】使用python调用monkey测试

    目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...

  2. monkey之三:monkey测试测略(摘抄)

    一.分类 Monkey测试针对不同的对象,不同的目的,采用不同的测略方案. 测试类型分为: 应用程序的稳定性测试和压力测试 测试对象分为: 单个APK和多个APK集合 测试目的分为: 解决问题的测试( ...

  3. Android Monkey测试(转载)

    Monkey是一款通过命令行来对我们APP进行测试的工具,可以运行在模拟器里或真机上.它向系统发送伪随机的用户事件流,实现对正应用程序进行压力测试. 官方介绍 :https://developer.a ...

  4. 安卓手机APP压力monkey测试

    一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行 ...

  5. Android应用程序Monkey测试

    Monkey是Android SDK中附带的一个测试工具:Monkey用于进行压力测试,软件开发人员结合monkey打印日志和系统日志,解决测试中出现的问题. Monkey测试的特点:所有事件都是随机 ...

  6. Monkey测试4——Monkey命令行可用的全部选项

    Monkey命令行可用的全部选项 常规 --help 列出简单的用法. -v 命令行的每一个-v将增加反馈信息的级别. Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息. Le ...

  7. Monkey测试3——Monkey测试结果分析

    Monkey测试结果分析 一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是monkey里面的哪个地方出错 2. 查看Monkey里面出错前的一些事件动作,并手 ...

  8. Monkey测试2——Monkey测试策略

    Monkey的测试策略 一. 分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一a ...

  9. Monkey测试1——Monkey的使用

    Monkey工具使用 一. 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实 ...

随机推荐

  1. linux统计当前文件夹下所有文件的个数

    ls 加 R 选项表示recursive递归

  2. windows系统的对象管理

    windows中的对象和高级编程语言中所说的对象还欧区别,准确来讲,windows中的对象其实指的是一种数据结构并且是一种带着“对象头(object head)” 的数据结构!  所以windows中 ...

  3. 浅谈pipreqs组件(自动生成需要导入的模块信息)

    简介 pipreqs的作用 一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt. 如果一个项目使用时virtua ...

  4. python基础之小数据池、代码块、编码

    一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽 ...

  5. Spark Streaming Checkpoint反序列化问题分析

    转载自:https://mp.weixin.qq.com/s/EQgDUSf3TK0oVg1xmg-49Q Checkpoint是Spark Streaming中的核心机制,它为应用程序的7*24小时 ...

  6. 《闪存问题之READ DISTURB》总结

    来自 http://www.ssdfans.com/?p=1778 闪存存在几个问题,影响着数据可靠性: 1.擦除次数,闪存擦除次数增多,会使隔离栅极的电化学键变弱. 2.data retention ...

  7. SQLAlchemy-Utils,提供choice功能

    SQLAlchemy操作数据库建表时,无法像Django一样提供choice方法,我们开头导入SQLAlchemy-Utils来为我们提供这个功能 pip3 install sqlalchemy-ut ...

  8. oracle 数据库误删数据,误删表的恢复

    1.某表的数据误删了,那么可以查询这个表某一时间节点之前的数据,并放到一个新建的表里. create table temptable as select * from t_billdefi  as O ...

  9. javaScript动画1 offsetWidth、offsetLeft

    offsetWidth和offsetHeight <!DOCTYPE html> <html lang="en"> <head> <met ...

  10. dp的简单递推笔记1

    (1)转自rockZ的博文 UVa 10328 - Coin Toss (递推) 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手. ...