monkey测试方法总结测试策略:全模块、单模块测试步骤:1、测试前准备:1 .PC侧安装adb驱动,使用adb shell命令不报错2 .设置:锁屏方式设置为无,屏幕亮度建议设成最低(防止电量消耗过大导致关机)3 .为刚刷的新版本或者进行一次恢复出厂设置备注:或测试前请先删除自行安装的第三方 :助手、测试工具 apk等等4 .休眠设成最长时间或不休眠5 .设置-开发者选项中勾选不锁定屏幕6 .设置时间为当前正确时间7 .若要测试上网请连接可用wifi或打开数据业务8 .测试前需开启 aplog *#*#201206#*#*备注:测试前请确保日志功能开启,测试完成后先保存日志adb rootadb remountadb shell rm -rf /data/logs/*作用就是删除以前的旧log工具使用前请确定版本为debug版本,PC的adb命令使用正常附件解压到任意目录,双击InstalllogClient.bat 会自动安装logClient客户端并重启配置:1.连接热点360WiFi-6CDC31 ,连接密码为xdjatest2.输入密码后勾选下面的高级选项-»将DHCP选项改为静态-»设置IP地址 为11.12.112.196至199之间的IP,设置完IP直接点击连接,连接上热点后即 配置完毕2、测试执行:先执行命令adb shell再输入如下的命令:全模块:monkey --throttle 500 --ignore-crashes --ignore-timeouts --ignore-sec urity-exceptions --ignore-native-crashes --monitor-native-crashes -v -v-v 180000> /storage/sdcard0/monkey_log.txt &单模块:monkey -p com.xdja.ncser --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 180000 > /storage/sdcard0/monkey_log.txt &备注:1、单模块命令加:-p模块包名;2、测试9小时使用180000 ,测试18小时使用3750003、测试开始后将从 PC上拔出并连接充电器继续进行测试,测试完成后会自动停止操作4、事件数量180000基本9小时,跑时间太久日志会被冲掉,因此建议每天跑 2次附录:ROM常用包名:短信:com.android.mms联系人:com.android.contacts相机:org.codeaurora.snapcam日历:com.android.calendar桌面:com.lqsoft.launcher3浏览器:com.android.browser设置:com.android.settings图库:com.android.gallery3d时钟:com.android.deskclock计算器:com.android.calculator2FM : com.caf.fmradio音乐:com.cyanogenmod.eleven录音:com.android.soundrecorder邮件:com.android.email文件管理器:com.xdja.fileexplorer便签:com.xdja.notes下载:com.android.documentsuiWPS: cn.wps.moffice_eng3、日志导出:分别将中的aplog、monkey运行日志、trace导出到PC侧1、Aplog :可以使用MTP方式直接将侧logs文件夹拷贝到PC侧2、Monkey运行日志:adb pull /storage/sdcard0/monkey_log.txt e:\monkey_log.txt备注:前面的路径为侧存储 monkey运行日志的路径和文件名,后者为PC侧的存储路径3、anr 获取 trace :adb pull /data/anr 目标 目录;比如:adb pull /data/anr d:/ ,就会在 d 盘;备注:当ANR发生的时候,系统会将 ANR信息写入到的data/anr/这个文件夹,若报anr问题,请使用adb pull命令将这个文件夹导出4、BUG提交:描述:【主题】:Monkey测试音乐模块出现1次crash【预制条件】:1 .测试机电量充足2 .测试前恢复出厂设置【操作步骤】:Monkey 测试命令adb shellmonkey --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions--ignore-native-crashes --monitor-native-crashes -v -v -v 180000 >/storage/sdcard0/monkey_log.txt &【实际结果】:Aplog 目录例如:All2015-09-21-18-53-18-0600\logs\crashlog1\system_app_crash@1442643156056.txtAplog实际报错信息例如:java.lang.IllegalStateException: Can not perform this action after onSaveInstanceStateat android.support.v4.app.y.c(Unknown Source)at android.support.v4.app.y.enqueueAction(Unknown Source)at mitInternal(Unknown Source)at mit(Unknown Source)at com.cyanogenmod.eleven.ui.activities.i.run(Unknown Source)at android.os.Handler.handleCallback(Handler.java:739)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.100P(Looper.java:135)at android.app.ActivityThread.main(ActivityThread.java:5221)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:116)【期望结果】:测试无问题【出现概率】:1【对比机现象】:无【LOG地址】:西安西安软件测试 测试LOG\ROM 快速定制LOG\ ROMDZ-1673【备注】:R19【联系人】:侯璐18729544368Log :aplog、monkey 运行 日志、trace 提交至服务器: 西安西安软件测试测试LOG\ROM快速定制LOG\备注:aplog需附上全部的log日志,方便研发分析其他:1、查看当前在运行的包名:连接PC端,打开模块,运行命令如下:adb shell dumpsys window |findstr mFocusedWindowu0和/之间的部分为包名2、参数说明命令:monkey -p com.android.contacts --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 180000 > /storage/sdcard0/monkey_log.txt &参数:--throttle :每个事件结束后的间隔时间 (单位毫秒)(如不指定,系统会尽快的发送事件序 列)。
如:-throttle 1000 间隔 1S-p :指定有效的package (如不指定,则对系统中所有 package有效),一个-p对应一个有效 package , 如:-p com.ckt -p com.ckt.asura--ignore-crashes :忽略崩溃--ignore-timeouts :忽略超时--ignore-security-exceptions :忽略安全异常--ignore-native-crashes: 忽略本地代码导致的崩溃异常--monitor-native-crashes :跟踪本地方法的崩溃问题-v:指定打印信息的详细级别,一个 -v增加一个级别,默认级别为0后面跟的数字180000即为事件数量,数字越大,测试压力越大3、手动停止monkey 测试命令l.adb shell2 .ps |grep monkey 查看monkey 进程ID号,是一串数字3 .kill进程ID号 停止monkey测试4、日志分析:1 .CRASH (崩溃)anr in (应用无响应)aplog日志中有crash文件夹,可查看报错信息2 .FATAL (严重错误)aplog日志中搜索关键字可查看报错信息180000 >3 .tombstone (底层报错):aplog 中有 tombstone 文件夹,一般与CRASH并存。
5、报错即停测试命令:monkey -p com.android.contacts --throttle 500 -v -v -v 180000 >/storage/sdcard0/monkey_log.txt &monkey --throttle 500 -v -v -v/storage/sdcard0/monkey_log.txt & 精选范本。