1 Monkey测试简介

Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。

2 Monkey程序介绍

  1. Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar;
  2. Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径 是:/system/bin/monkey;这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。

3 Monkey命令的简单帮助

要获取Monkey命令自带的简单帮助,在CMD中执行命令: 
adb shell monkey –help

4 Monkey命令参数介绍

可参考MTK相关文档。

Android_Monkey_Test_SOP.pdf

Monkey_Test_SOP_Customer_MT6572_4.x .pdf

5 Monkey测试步骤

步骤1:下载user版本后手动导入APR工具。

步骤2:导入完毕后重启手机,连接usb线,运行logServerInstall.bat。

步骤3:运行后手机会自动重启,重启完毕后手机端键入*#*#2012#*#*,能够进入对应界面即为apr安装成功。

步骤4:手机连接电脑,开启adb:键入adb shell ps logserver,查询logserver的PID值,然后键入adb shell kill PID(logserver PID)。

步骤5:再次键入adb shell ps logserver 查看logserser已被kill掉。

步骤6:手机连接电脑,开启USB存储,在手机内存(或SD卡)中,新建一个名为whitelist的txt文件,该文件中输入想跑的模块名,每个模块输入后回车输入下一个,若对模块名称不熟悉可参考monkey测试报告,内有模块排练信息。

例如:com.chinamobile.cmccwifi

com.cmcc.mobilevideo

com.hisunflytone.android

步骤7:上一步完成后,手机端进入对应的apk模块,如:whitelist中想跑新浪微薄,uc浏览器的话,手机端分别进入这些应用,把首次使用提示框点掉,记得勾选上永远不提示的选项以免跑monkey无法正常测试。

步骤8:手机连接电脑,打开adb。

步骤9:键入adb shell,回车后键入

monkey --pkg-whitelist-file /mnt/sdcard/whitelist.txt --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 200000 >/mnt/sdcard/Stability_base.txt

步骤10:此时,既能正常开始monkey,并记录开始时间。

步骤11:Monkey结束后手机连接电脑,运行getDataLog.bat,生成 datalog。连接usb存储,在是手机上找到Stability_base.txt文件,查看最后修改时间,该时间即为monkey运行最后结束时间。

6 Monkey测试问题分析及处理技巧

Monkey测试主要是测试负责,研发这边配合测试进行问题复现及给出测试建议,重点工作还是monkey问题分析,包括冻屏、死机重启、crash等。由于这类问题分析起来比较麻烦,所以一般如果没有相关分析经验可以先定位问题,准备好相关的log配合MTK分析或者找部门内部有相关经验的研发人员配合分析。

7 Monkey测试注意事项

注意事项:

  1. 测试关闭所有网络开关(wifi及数据连接)
  2. 开启安全设置下的未知来源
  3. 手机连接电源充电
  4. 若有有关于音频的模块,请插入耳机避免影响其他同事
  5. 若测试信息模块时需要安装测试工具testwizard.apk,自动生成通话记录,短信(数量为10)
  6. 若测试文件管理器需要在T卡内存放有图片/音乐/apk/视频/txt这类文件
  7. 测试图库是需要T卡内存放100个图片及视频的,同样音乐和视频播放器也需要存放不少于50个片源
  8. 测试电子邮件的需要新建两个以上的账户
  9. 测试前运行一遍手机上方带有的首次提示的说明,如输入法,文件夹窗口,apk提示语等
  10. 若测试时遇到问题想重新开始测试,必须拔掉电板后重新键入adb指令重新开始。

8 Monkey测试命令

  1. 跑ALL apk命令

monkey --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -s 800 -v -v -v 200000>/mnt/sdcard/Stability_all.txt

  1. 跑白名单命令

monkey --pkg-whitelist-file /mnt/sdcard/whitelist.txt --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 200000 >/mnt/sdcard/Stability_base.txt

  1. 跑黑名单命令

monkey --pkg-blacklist-file /mnt/sdcard/blacklist.txt --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 200000 >/mnt/sdcard/Stability_base.txt

9 Monkey测试问题分析

Monkey测试log为标准MTK log,常见问题也是以下几种:Crash 、NE、KE、ANR等。

测试前首先关闭MTK log,将sdcard卡和手机内存中的旧的log清理赶紧,最相关干扰文件一并清理干净,否则后期取出log很容易造成困扰。

Monkey测试问题及解决方法相关推荐

  1. LoadRunner测试问题及解决方法总结

    一.Step download timeout (120 seconds) 这是一个经常会遇到的问题,解决得办法走以下步骤: 1.修改run time setting中的请求超时时间,增加到600s, ...

  2. mock模拟导致测试失败的解决方法

    前言:在使用mock进行单元测试时,遇到了一个很奇怪的问题.比如一个测试类下有八个测试用例,其中有3个是使用了mock进行了模拟,同时彼此之间没有任何变量相联系.这八个测试用例单独一个个执行时没有任何 ...

  3. 【Matlab】关于matlab开启多核并行计算时SPMD测试失败的解决方法

    从官方网站找到了解决方法 根据操作一步步排除(当然要先把Parallel Computing Toolbox给装上): 确保证书可用 在matlab命令行中输入: license checkout D ...

  4. CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法

    在最近的Android 11项目中用R5 的CTS工具测试发现CtsWindowManagerDeviceTestCases 有很多错误,前面几项测试失败了后面都不跑了. 解决思路: 首先使用命令ru ...

  5. 关于INRIA Aerial Labeling Contest无法正确提交测试结果的解决方法

  6. 关于ResultSet can not re-read row data for column 1 解决方法

    今天早上弄完了网站,就去弄Java了,居然遇到了问题"ResultSet can not re-read row data for column 1",上网搜了下,原来是微软公司的 ...

  7. VS2010安装异常中断后无法安装的解决方法(安装时发生严重错误)

    最近,因为公司开发的需要,对开发环境进行全面的升级,在这其中也遇到了不少问题,在之后将陆续整理出来,以便以后查看. 之前开发环境:ArcGIS9.3,ArcEngine9.3,Oracle10g,Ar ...

  8. 关于Windows_8.1/Windows 7下普通用户运行软件提示需要输入管理员密码解决方法

    转载:https://blog.51cto.com/linuxprince/1968552 问题起因 最近遇到一个比较棘手问题,顺丰速运修改了快递单填写方式,必须要安装他们公司开发的一个软件(软件名叫 ...

  9. Android之monkey Test,Monkey测试中的黑名单和白名单,Monkey测试中的黑名单和白名单

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

最新文章

  1. python使用imbalanced-learn的SMOTENC方法进行上采样处理数据不平衡问题
  2. BZOJ2215[Poi2011]Conspiracy——2-SAT+tarjan缩点
  3. 【Vue】谈Vue的依赖追踪系统 ——搞懂methods watch和compute的区别和联系
  4. 哪里可以找到python的免费教程-哪里有免费的python3教程啊?最好是有例子的视频教学...
  5. PG通用(常用)功能
  6. SRX alarm: Autorecovery information needs to be saved
  7. thinkphp仿百度文库网站源码
  8. OpenGL中投影矩阵(Projection Matrix)详解
  9. ajax get怎么传参数值,如何使用jQuery在GET请求中传递参数
  10. python能做机器人吗_最火的Python语言也能做机器人仿真,你会不?
  11. Event Filter Table Entry
  12. Neo4j图数据库和GDS图算法应用
  13. 立创eda入门-原理图,PCB制作
  14. 计算机视觉方向简介 | 深度学习3D重建
  15. SendMessage功能(中规中矩)
  16. 推荐一个免费服务器网站|亲测可用
  17. 全国计算机等级考试信息安全三级笔记
  18. 排序问题——翻转烙饼
  19. 韩国版微信Kakao推出公链,能否用区块链实现全球扩张?
  20. 七星聚会 (中国象棋棋局)

热门文章

  1. 分布式系统(概念、时间、状态)
  2. 西海情歌用计算机怎么弹,西海情歌-降央卓玛-和弦谱-《弹吧》官网tan8.com-和弦谱大全,学吉他,秀吉他...
  3. 玩不死你校内农场种地助手
  4. 网络加密主要有以下几种方式_解决企业所得税的方式有以下几种
  5. 实例渲染(Instanced Rendering)
  6. 基于C++的车辆装甲板检测自瞄系统
  7. Android入门之ScrollView
  8. OEA体验:查看模板
  9. CCNA考试的注意事项
  10. H3C路由器SSH服务配置命令