Monkey命令参数详细信息(转载) ) ) ) ) ) )
什么是monkey
Monkey是Android的命令行工具,可以在模拟器或实际设备上运行。 将按键输入、触摸屏输入、手势输入等伪随机用户事件流发送给系统,实现对正在开发的APP应用的压力测试。
基本语法
$ADB外壳monkey[options]
如果未指定options,Monkey将以无反馈模式启动,并可选地将事件发送到目标环境中安装的所有APP应用程序
$ ADB shell monkey-ppackage-v 500
指定对名为package的APP应用程序进行monkey测试,并发送500个伪随机事件。 在此,-p表示对象软件包,-v表示反馈信息等级
命令参数
可以使用命令ADB shell monkey-help显示命令参数
1、参数:-p
用于约束。 使用此参数指定一个或多个APP应用程序。 如果指定应用,monkey只允许启动指定的app。 如果不指定APP应用程序,系统可以启动设备上的所有APP应用程序。
指定APP语句: ADB shell monkey-pcom.ifeng.news 2100
指定多个APP应用程序: ADB shell monkey-pcom.if ext.news-pcom.ifeng.news 2100
不指定APP分隔: ADB shell monkey 100
2、参数:-c
用于限制条件。 使用此参数指定一个或多个类别。 Monkey只能启动其中一个类别中列出的Activity。 如果不指定类别,Monkey将选择intent.category.launcher或Intent.CATEGORY.MONKEY类别中列出的activity。 要指定多个类别,必须使用多个-c选项。 每个-c选项只能在一个类别中使用。
3、参数:-v
指定反馈信息级别。 信息级别是日志的详细级别。 总共分为三个等级。
默认级别Level 0:-v
adbshellmonkey-pcom.ifeng.news 2v100 :说明仅提供少量信息,如启动提示、测试完成和最终结果
日志级别Level 1:-v -v
adbshellmonkey-pcom.ifeng.news 2v-v100 :说明提供了更详细的日志,包括发送到Activity的每个事件信息
日志级别Level 2:-v -v -v
ADB shell monkey-pcom.ifeng.news 2v-v-v100 :最详细的日志,包括测试中选择/未选择的Activity信息
4、参数:-s
伪随机数发生器的seed值。 使用相同的seed值再次运行Monkey将生成相同的事件序列
Monkey测试1:ADB shell monkey-pcom.ifeng.news2- s 10100
Monkey测试2:ADB shell monkey-pcom.ifeng.news 2s 10100
两次测试的效果是一样的。 因为模拟的用户操作序列(每个操作由一定优先级组成的一组操作或一个序列)是相同的。
5、参数--throttle毫秒
指定用户交互或事件之间的延迟(以毫秒为单位)
ADB shell monkey-pcom.ifeng.news2--throttle 5000100
6、参数--ignore-crashes
指定当APP应用程序崩溃(Force Close错误)时Monkey是否停止。 使用此参数时,即使APP应用程序崩溃,Monkey也会在事件计数完成之前发送事件。
ADB shell monkey-pcom.ifeng.news2--ignore-crashes 1000
如果程序在测试期间崩溃,Monkey将继续发送事件,直到事件数达到1000
ADB壳monkey-pcom.ifeng.news21000
如果acg程序在测试期间崩溃,Monkey将停止
7、参数--ignore-timeouts
指定当APP应用程序发生应用程序节点(anr )错误时是否停止Monkey的运行。 如果使用此参数,Monkey将在事件计数完成之前发送事件,即使APP应用程序发生ANR错误也是如此。
ADB shell monkey-pcom.ifeng.news 2ignore-time outs 1000
8、参数--ignore-security-exceptions
指定如果APP应用程序发生许可证错误(证书许可证、网络许可证等),Monkey是否停止。 如果使用此参数,则即使APP应用程序发生许可证错误,Monkey也将
发送事件,直到事件计数完成。adb shellmonkey -p com.ifeng.news2 --ignore-security-exception 1000
9、参数: --kill-process-after-error
用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。
adb shellmonkey -p cn.emoney.acg --kill-process-after-error 1000
10、参数: --monitor-native-crashes
用于指定是否监视并报告应用程序发生崩溃的本地代码。
adb shellmonkey -p cn.emoney.acg --monitor-native-crashes 1000
11、参数: --pct-{+事件类别}{+事件类别百分比}
用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
–pct-touch{+百分比}:
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)
adb shell monkey -p com.ifeng.news2 --pct-touch 10 1000
–pct-motion {+百分比}:
调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随件机事和一个up事件组成)
adb shell monkey -p com.ifeng.news2 --pct-motion 20 1000
–pct-trackball {+百分比}:
调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
adb shell monkey -p com.ifeng.news2 --pct-trackball 30 1000
–pct-nav {+百分比}:
调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
adb shell monkey -p com.ifeng.news2 --pct-nav 40 1000
–pct-majornav {+百分比}:
调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
adb shell monkey -p com.ifeng.news2 --pct-majornav 50 1000
日志输出
输出日志的方法:C:Documents and SettingsAdministrator>adb shell monkey -p 包名 -v 300 >D:log.txt
参考链接:https://www.jianshu.com/p/26de32bc2162
https://blog.csdn.net/dubinglin/article/details/71619494