monkey工具介绍及用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

monkey⼯具介绍及⽤法
monkey是android 系统⾃带的⼀个命令⾏⼯具,可以向被测应⽤程序发送伪随机的⽤户事件流(如按键、触屏、滑动等操作),实现对应⽤程序进⾏测试的⽬的。

monkey测试也叫猴⼦测试,是指测试时可以像好奇的猴⼦⼀样,不停的对应⽤程序进⾏随机操作,以便验证应⽤程序的稳定性和健壮性。

因此,monkey测试是软件稳定性,健壮性的测试⼯具
下⾯是monkey提供的⼀些参数:
参数:
事件相关参数表:
-s <seed> 这个参数是伪随机数⽣成器的种⼦值,如果⽤相同的随机种⼦值再次运⾏相同的monkey命令时,前、后两次执⾏的操作事件序列相同,也就是相同的操作。

--throttle <milliseconds> 这个参数是设定在两个事件之间插⼊⼀个固定延时,它可以减缓Monkey的执⾏速度。

如果您不指定选
项,Monkey将不会被延迟,事件将尽可能快地⽣产和发送消息。

--pct-touch <percent> 这个参数是设定触屏事件⽣产的百分⽐,触屏事件是⼀个有⼿指按下、抬起事件的操作。

--pct-motion <percent> 这个参数是设定滑动事件⽣成的百分⽐,滑动事件是⼀个先在某⼀个位置⼿指按下,滑动⼀段距离后再抬起⼿势的操作。

--pct-trackball <percent> 这个参数是设定轨迹球事件⽣成的百分⽐,轨迹球事件是包含⼀系列随机移动和单击事件的操作。

--pct-nav <percent> 这个参数是设置基本的导航事件的百分⽐,基本导航事件的模拟⽅向性设置输⼊向上、向下、向左、向右的操作。

--pct-majornav <percent> 这个参数是设定主要导航事件的百分⽐,主要导航事件通常是导致UI产⽣回馈事件,如:单击BACK键,单击MENU键。

--pct-syskeys <percent> 这个参数是设定系统按键事件的百分⽐,系统按键是指这些按键通常被保留,由系统使⽤,如HOME,BACK,拨号,挂断及⾳量控制键。

--pct-appswitch <percent> 这个参数是设定启动活动事件的百分⽐,在随机的⼀定间隔后,Monkey就会执⾏⼀个startActivity()函数尽可能多的覆盖包中全部活动。

--pct-anyevent <percent> 这个参数是设定其他类型事件的百分⽐,如普通的按键消息,不常⽤的设备按钮事件等。

约束条件:
-p <运⾏的包名列表> 这个参数是设定⼀个或⼏个包名,monkey将只允许系统启动这些包⾥的活动,如果您的应⽤程序还需要访问其他包⾥的活动,如选择⼀个联系⼈,那也需要在此同时指定联系⼈所在应⽤的包名。

要指定多个包时,需要使⽤多个“-p”选项,每个“-p”选项只能⽤于⼀个包。

-c <意图的分类> 这个参数是指定意图的分类,这样monkey只会启动可以处理这些种类的意图的活动。

如果没有设置这个选项,monkey则只会启动带有Intent.CATGORY_LAUNCHER 和Intent.CATEGORY_MONKEY。

与“-p”参数类似,要指定多个类别,需要使⽤多个“-c”选项,每个“-c”选项只能⽤于⼀个类别。

调试选项:
--dbg-no-events 若指定了该参数,monkey将会执⾏初始启动,进⼊到⼀个测试Activity,不会再进⼀步⽣产事件。

为了得到最佳结果,把它与“-v”,“-p”和“--throttle”等参数⼀起使⽤,并让monkey运⾏30秒或更长时间,
从⽽可以让我们观测到应⽤程序所调⽤的包与包之间的切换过程。

--hprof 若指定了该参数,monkey会在发送事件序列的前、后,⽣成性能分析报告。

通常会在“data/misc”⽬录下⽣成⼀个5MB左右⼤⼩⽂件。

--ignore-crashes 通常情况下,monkey会在待测应⽤程序崩溃或发⽣任何异常后停⽌运⾏。

若指定了该参数,则monkey将会在产⽣异常后,继续向系统发送事件,直到指定的事件消息全部完成为⽌。

--ignore-timeouts 通常情况下,当应⽤程序发⽣任何超时错误(如“Application Not Responding” 对话框)时,monkey将停⽌运⾏,若指定了该参数,则monkey将会在产⽣错误消息后,继续向系统发送事件,直到指定的事件
消息全部完成为⽌。

--igone-security-exceptions 通常情况下,monkey会在被测应⽤程序发⽣权限⽅⾯的错误时停⽌运⾏。

若指定了该参数,则monkey 将继续向系统发送事件,直到指定的事件消息全部完成为⽌。

--kill-process-after-error 通常情况下,当monkey由于⼀个错误⽽停⽌时,出错的应⽤程序就继续处于运⾏状态。

当设置了此选项时,它将会通知系统停⽌发⽣错误的进程(注意:当monkey正常执⾏完毕后,它不会关闭所启动的应⽤,设备依然保留
其最后接收到的消息状态,所以建议⼤家在执⾏命令以后为保持应⽤的初始状态,需⼿动或者脚本程序已经打开的应⽤进⾏关闭)。

--monitor-native-crashes 监视由android C/C++ 代码部分引起的崩溃,若同时指定了 --kill-process-after-error 参数,则整个系统将会关机。

--wait-dbg 启动monkey后,先中断其运⾏,等待调式器和它相连接。

⽰例讲解:
-s 指定随机种⼦⼤⼩
命令:adb shell monkey -p com.xxx.xxx -v 100
-s的参数值为100,表明monkey对应⽤程序com.xxx.xxx⼀共发送100个随机操作事件。

第⼀次执⾏和第⼆次执⾏该命令时,操作的事件顺序是⼀样的,因为-s的参数都是100,产⽣的随机事件序列的顺序也是⼀样。

-p 指定运⾏的应⽤程序
命令:adb shell monkey -p com.xxx.xxx -p com.android.calendar 200
有两个-p参数,说明monkey同时启动两个应⽤程序,并对这两个应⽤程序同时进⾏200个随机操作事件。

-throttle 指定各个随机事件之间的延时时间,单位:毫秒
命令:adb shell monkey -p com.xxx.xxx --throttle 3000 100
--throttle 参数值为3000毫秒,也就是每个事件操作的时间间隔为3秒,3秒后进⼊下⼀个事件操作。

--pct-touch <percent> ⽤于设定触屏事件⽣成的百分⽐
命令:adb shell monkey --pct-touch 50 -p com.xxx.xxx --throttle 3000 100
--pct-touch 50 表⽰设定触屏事件的占⽐为50%。

--pct-motion <percent> ⽤于设定滑动事件⽣成的百分⽐
命令:adb shell monkey --pct-motion 50 -p com.xxx.xxx --throttle 3000 100
--pct-motion 50 表⽰设定滑动事件的占⽐为50%
--pct-trackball <percent> ⽤于设定轨迹球事件的百分⽐
命令:adb shell monkey --pct-trackball 50 -p com.xxx.xxx --throttle 3000 100
-pct-trackball 50 表⽰设定轨迹球事件的占⽐是50%
--pct-nav <percent> ⽤于设定设备向上、向下、向左、向右事件的百分⽐
命令:adb shell monkey --pct-nav 60 -p com.xxx.xxx 100
--pct-nav 50 表⽰设置控制设备操作向上、向下、向左、向右的⽐例占⽐是60%。

--pct-majornav <percent> ⽤于控制设备主要导航事件,如单击BACK键,单击MENU键的百分⽐
命令:adb shell monkey --pct-majonav 70 -p com.xxx.xxx 200
--pct-majornav 70 表⽰设置控制设备主要导航事件,打击BACK键,单击MENU键的占⽐是70%。

--pct-syskeys <percent> ⽤于控制设备系统按键事件,如home、back、拨号、挂断及⾳量事件⽣成的百分⽐
命令:adb shell monkey --pct-syskeys 50 -p com.xxx.xxx 100
-pct-syskeys 50 表⽰设置控制系统按键事件的占⽐为50%。

--pct-appswitch <percent> ⽤于设置启动活动事件的百分⽐
命令:adb shell monkey --pct-appswitch 60 -p com.xxx.xxx 500
表⽰设置主要覆盖包中60%的活动
--pct-anyevent <percent> ⽤于设置其他类型事件的百分⽐
命令:adb shell monkey --pct-anyevent 50 -p com.xxx.xxx 500
表⽰其中普通的按键消息、不常⽤的设备按钮事件等占50%
--hprof ⽤于记录monkey在执⾏前、后的性能数据
命令:adb shell monkey --hprof -p com.xxx.xxx 5000
表⽰在monkey发送事件序列的前、后,⽣成性能分析报告。

通常会“/data/misc”⽬录下⽣成⼀个5MB⼤⼩左右的⽂件。

--ignore-crashes ⽤于设置monkey运⾏时,待测程序崩溃或发⽣异常后,是否需要继续执⾏
命令:adb shell monkey --ignore-crashes -p com.xxx.xxx 5000
表⽰在monkey执⾏事件操作过程中,如果发⽣了程序崩溃或异常,依然继续执⾏剩余的操作
--ignore-timeout ⽤于设置monkey运⾏时,待测程序出现超时,是否需要继续执⾏
命令:adb shell monkey --ignore-timeout -p com.xxx.xxx 5000
表⽰在monkey执⾏事件操作过程中,如果出现超时(Application Not Responding),monkey依然执⾏剩余的操作
--ignore-security-exceptions ⽤于设置monkey运⾏时,出现⼀些访问权限问题,是否需要继续执⾏
命令:adb shell monkey --ignore-security-exceptions -p com.xxx.xxx 5000
表⽰在monkey运⾏时,出现证书许可证错误或⽹络许可错误等情况,monkey依然继续执⾏剩余的操作。

相关文档
最新文档