测试准备:

Monkey压力测试时除了添加测试APP,还可另外添加2-3个第三方app进行对比测试。

1.在D盘新建一个txt文件,添加APP包名,命名为whitelist.txt

2.用cmd命令把whitelist.txt文件push到手机

adb push d:\whitelist.txt /data/local/tmp/ 


3.压力测试指令monkey -p 包名 [参数] -v (-v -v) 执行次数 >导出log文件

l 对白名单包进行测试

l monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000  1> /mnt/sdcard/monkey_test.txt 2>&1 &

黑名单:不测试的应用

白名单:只测试这部分应用

注意:不能同时设置黑名单和白名单

设置黑名单:

--pkg-blacklist-file PACKAGE_BLACKLIST_FILE

设置白名单:

--pkg-whitelist-file PACKAGE_WHITELIST_FILE

l 对单独的APP进行测试

l monkey-p com.hst.che --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000 >/mnt/sdcard/monkey1.txt

说明:

--throttle(毫秒)事件之间插入的固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定,Monkey将尽可能快的产生并执行事件。

-s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

--ignore-crashes 忽略程序崩溃。设置此选项后,Monkey会执行完所有的事件,不会因crash而停止。

--ignore-timeouts 忽略程序无响应。设置此选项后,Monkey会执行完所有的事件,不会因ANR而停止。

--ignore-security-exceptions 忽略证书或认证异常。设置此选项后,Monkey会执行完所有的事件,不会因认证或证书异常而停止。

--ignore-native-crashes 监视系统中本地代码发生的崩溃

--monitor-native-crashes 忽略本地代码导致的崩溃。设置忽略后,Monkey将执行完所有的事件,不会因此停止。

-v -v –v 提供最详细的设置信息

4.导出log到电脑:pull /mnt/sdcard/monkey.txt d:monkey.txt



分析log

l 日志开头:显示本次测试seed值,执行次数,测试包,

l 日志结尾:

如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;Monkey finished代表执行完成。

(如果Monkey执行中断,在log的最后也能查看到当前已执行的次数。)

l 日志内容分析

一般测试结果分析-搜索关键字:
1.程序无响应,ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索“CRASH”

3.其他问题:在日志中搜索”Exception”

详细分析monkey日志

Switch--查看log中的Switch,主要是查看Monkey执行的是那一个Activity,两个swtich之间如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。

Sleeping--Sleeping for 500 milliseconds这是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。

重现问题

Monkey测试出现错误后,一般的查错步骤为以下几步:
1.找到是monkey里面的哪个地方出错
2.查看Monkey里面出错前的一些事件动作,并手动执行该动作
3.若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样

Monkey测试结果分析相关推荐

  1. Monkey测试log分析三

    测试完后,要看得懂结果,快速定位问题,修复后能进行验证,才能发挥测试的效果. Monkey结果输出       1.保存在pc中 adb shell monkey [option] <count ...

  2. 手机monkey测试BUG重现及解决方法

    目录 1.1 Monkey测试简介...1 1.2 Monkey程序介绍...1 1.3 Monkey命令的简单帮助...2 1.4 Monkey命令参数介绍...2 1.5 Monkey测试步骤.. ...

  3. android之monkey测试

    本文同时发表于本人个人网站 www.yaoxiaowen.com monkey测试算是android自动化测试当中最简单的一种工具了.虽然简单,不过对于测试app的稳定健壮,减少崩溃还是比较有用的.所 ...

  4. 提交apk到小米应用商店,monkey测试未通过被拒

    前情提要 因发布了两次app到小米的应用商城都是报monkey测试不通过,  但是看到问题貌似报的感觉都不应该啊,于是问题进行详细分析.日志反应一直卡在第一个载入画面,但是我们自己内部跑monkey各 ...

  5. Monkey测试问题及解决方法

    1 Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的 ...

  6. Monkey测试工具简介

    最近依然还是那么忙,只不过慢慢总结,好几天出一篇总结,那也是在努力,加油,打工人 Monkey测试工具简介 一.Monkey 简介 二.Monkey 操作 2.1 Monkey支持的事件 2.2 Mo ...

  7. Android Monkey测试入门:安装sdk、studio、模拟器,并分析monkey日志

    Android Monkey测试入门:安装sdk.studio.模拟器,并分析monkey测试报告结果 1. 安装Java JDK和android SDK 2. 安装Andriod studio及模拟 ...

  8. 由Monkey测试引发的跨多个进程的Android系统死锁问题分析

    一.问题现象 1.界面定住,没有任何刷新,所有输入事件无效,包括power key 2.adb shell可以连接并操作手机 3.手机的data和sdcard存储空间已满 4.watchdog没有重启 ...

  9. [Android 测试] 压力稳定性测试之: Monkey 详解分析脚本

    一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看app会不会奔溃,能不能维持正常运行. 二. Money是什么? Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模 ...

最新文章

  1. uboot启动过程中关闭Caches
  2. 【笔记】基于轻量和积网络及无人机遥感图像的大豆田杂草识别
  3. OC-成员变量的作用域
  4. OSPF-5类LSA和4类LSA
  5. noip2013——提高组——花匠(flower)
  6. Error building results for action sayHello in namespace /inteceptor -
  7. php+mysql案例含源码_[源码和文档分享]基于PHP和MYSQL数据库实现的失物招领系统...
  8. Windows数据类型
  9. hallo world
  10. windows的exe文件反编译为msi安装文件
  11. 一键批量检测微信是否被好友删除,支持最新版微信
  12. 限制整个手机的网速 -- 360免费wifi
  13. AI赋能的判定机制的倾向性
  14. 苹果审核状态为Metadata Rejected下的问题
  15. 计算机三种校验方式,三种校验码
  16. PS|你真的了解PS吗?
  17. 3分钟带你了解微信小程序开发
  18. Listener refused the connection with the following error
  19. Angular二级导航栏
  20. 线程的状态 - Java

热门文章

  1. python实现链表的删除_Python 实现简易版成绩管理系统
  2. Linux Nvidia官方驱动下画面撕裂的解决办法
  3. docker挂载内容与容器内容不同步(有时候延迟同步)
  4. 黄冈师范计算机学院在哪个校区,黄冈师范学院有几个校区,哪个校区最好及各校区介绍...
  5. 【神经网络笔记】——多分类交叉熵损失函数公式及代码实现
  6. jq删除某个css样式,jq删除属性_使用jquery删除css属性或样式
  7. Insert 28, 23, 54, 61, 98, 37 into an initially empty AVL tree first. Then immediately insert one of
  8. matlab 安装需要dvd2,在安装MATLAB的过程中[dvd1弹出并插入dvd2以继续]错误解决方案...
  9. 泰坦尼克号生存率预测(持续更新中,探索性数据分析...)
  10. 线程池的几种创建方法