monkey常用命令介绍

首先,简单介绍一下monkey。它是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试。

基本参数介绍:

-p  //用于指定测试的一个或多个包
adb shell monkey -p package num    //对指定的包package进行monkey测试num次(若不指定,则默认的所有包都要进行monkey测试)
adb shell monkey -p package1 -p package2 num    //对指定的包package1,package2进行monkey测试num次

-v  //指定反馈信息的级别(反馈信息即日志文件),共三个级别
Level 0:  adb shell monkey -p package -v 100    //缺省值,仅提供启动提示、测试完成和最终结果等少量信息   
Level 1:  adb shell monkey -p package -v  -v 100    //提供较为详细的日志,包括每个发送到Activity的事件信息
Level 2:  adb shell monkey -p package -v  -v  -v 100    //最详细的日志,包括了测试中选中/未选中的Activity信息

-s  //随机数种子,指定伪随机数生成器的seed值,若seed相同,则两次Monkey测试所产生的事件序列也相同
monkey测试1:adb shell monkey -p package –s 10 100                
monkey测试2:adb shell monkey -p package –s 10 100 

高级参数介绍:

--throttle  //毫秒,用于指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的生成和发送消息
adb shell monkey -p package --throttle 3000 100   //对package每隔3000ms即3s执行一次monkey测试,共执行100次

-ignore-crashes  //使用此参数,程序发生崩溃时,monkey也不会停止运行,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成
adb shell monkey -ignore-crashes    //忽略崩溃和异常事件 

--ignore-timeouts  //指定当应用程序发生ANR错误时,monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。
adb shell monkey -ignore-timeouts    //忽略超时事件 

--ignore-security-exceptions  //当应用程序发生许可错误时(如证书许可,网络许可等),Monkey不会停止运行,依然会发送事件,直到事件计数完成。

--kill-process-after-error  //当应用程序发生错误时,应用程序停止运行并保持当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)

--monitor-native-crashes  //监视并报告Android系统中本地代码的崩溃事件,如果设置了,系统将停止运行




指定事件百分比相关命令:

用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比),虽然事件是随机的,但是你可以指定其中某种动作的比例,根据app的特点而进行设置,某些app滑动多,某些app点击多,这样可以更贴近app应用场景的设置随机事件进行测试

--pct-touch{+百分比} //调整触摸事件的百分比(触摸事件是一个down-up事件,发生在屏幕的某单一位置)
adb shell monkey –p package --pct-touch 10 1000
 
--pct-motion{+百分比}  //调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和up事件组成)
adb shell monkey -p com.huawei.Weather --pct-motion10 1000
 
--pct-trackball{+百分比}  //调整轨迹球事件的百分比{轨迹事件由一个或几个随机的移动组成,有时还伴随有点击}
adb shell monkey -p com.huawei.Weather --pct-trackball 10 1000
 
--pct-nav{+百分比}  //调整“基本”导航事件的百分比(导航事件由来自方向输入设备up/down/left/right组成)
adb shell monkey -p com.huawei.Weather --pct-nav 10 1000
 
--pct-majornav{+百分比}  //调整主要导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
adb shell monkey -p com.huawei.Weather --pct-majornav 10 1000
 
--pct-syskeys{+百分比}  //调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home,Back,Start Call,End Call及音量控制键)
adb shell monkey -p com.huawei.Weather --pct-syskeys 10 1000
 
--pct-appswitch{+百分比}  //调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法
adb shell monkey -p com.huawei.Weather --pct-appswitch  10 1000

--pct-anyevent {+百分比}  //调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的的设备按钮、等等
adb shell monkey -p com.android.music --pct-anyevent 100 1000
adb shell monkey -p com.android.music --pct-anyevent 50 --pct-switch 50 1000  //指定多个类型的百分比

其他命令:

--dbg-no-events  //设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。为了得到最佳结果,把它与-v、一个或几个包约束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换

--hprof  //设置此选项,将在Monkey事件序列之前和之后立即生成profiling报告。这将会在/data/misc中生成大文件(~5Mb),所以要小心使用它

--wait-dbg  //停止执行中的Monkey,直到有调试器和它相连接

-port  //为Monkey开启专用端口。此时只Monkey不会帮你乱点击,而此时你自己就是一只Monkey,在你乱点的时候,Monkey会输出你点击后回馈的信息。如果你打完命令后,模拟器上没有启动你所要启动的包,你需要自己启动,但是你只能启动你-p中指定的那几个包。Ctrl+c中断

 

©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页