l 命令样例:
adb shell monkey -p packagename --ignore-timeouts --ignore-crashes -v -v --throttle 200 1000000
各个参数的意义如下:
-p
用此参数指定一个或多个包(Package)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP;
--ignore-crashes
用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成;
--ignore-timeouts
用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成;
--ignore-security-exceptions
用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。
-v
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示0,1,2分别以-v,-v -v,-v -v -v 表示,建议多以level 2记录测试日志:
日志级别 Level 0
缺省值,仅提供启动提示、测试完成和最终结果等少量信息
日志级别 Level 1
提供较为详细的日志,包括每个发送到Activity的事件信息
日志级别 Level 2
提供最详细的日志,包括了测试中选中/未选中的Activity信息
--throttle
在每两次操作(即事件)间的时延,单位是毫秒,一般我们设置延时时间为500ms,比较接近人的手动操作,如果在测试中发生了anr,可以将间隔设置为500ms,进行测试验证。
-s
S其实就seed,它是随机数的事件序列定一个值,若出现问题下次可以重复同样的序列进行排错。
l Monkey 结果验证
Monkey Pass:
如果正常完成monkey测试,会在monkey log的末尾中打印出:Monkey finished
Monkey Fail:
存在crash,可在monkey log中搜索到CRASH关键字,或可在adblog中搜索出fatal关键字
存在anr (application not response),可在monkey log中搜索到NOT RESPONDING关键字
l 抓取log的报错信息
adb logcat -v time >[local path]
命令一旦执行,会持续记录设备运行log,直到手动cancel为止。
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可