提:按照前面的《Monkey环境搭建》先把环境搭建好。
此处为真机测试:
1.首先需要将手机连接到PC,测试连接是否正常,可在cmd里输入adb devices来进行验证;
2.输入adb shell 进入shell命令行
3.获取要测试的APP包名:可以直接问开发,也可以通过在shell命令行中输入以下命令:
pm list packages 列出所有包名来进行查找
pm list packages com.xx 查找所有包含com.xx的包
pm list packages com.xx.yy 查找特定包是否存在
3. (1) 对特定APP包进行测试的命令为 monkey -p com.xx 50 -v (其中-p指定包名;50为伪随机事件个数;-v为日志详细程度)
(2) 也可以通过adb shell进入手机再发送命令
Monkey基本参数
1、-help 查看所有命令
2、-p <apackage.name>
作用:指定包名,Monkey将只访问这些包中的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。
注:常用参数
例:adb shell monkey -p com.Android.browser -v 10
3、–v
作用:日志输出的详细程度
-v:除了启动、测试完成和最终结果外只提供较少的信息。
-v -v (-vv):提供了较为详细的测试信息,如逐个发送到Activity的事件信息。
-v -v -v (-vvv):提供了更多的设置信息,如测试中选中或未选中的Activity信息。
注:常用参数
4、-s <seed>
作用:伪随机数生成器的seed值。
monkey测试是随机的,产生问题复现很困难,所以人为加一个seed值(所以是伪随机),方便复现。
例:adb shell monkey -s 123456888 -v 500
注:常用参数
5、--throttle <milliseconds>
作用:用户事件间隔时间
如果不设置会以最快速度完成伪随机事件;建议设置300ms(实际用户最快的动作)。
例:adb shell monkey --throttle 300 -v 500
注:常用参数
6、--pct-touch <percent> 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置。
注意percent代表了这个事件占到所有随机事件的百分比数,多个参数指定的时候,加起来的百分比数不能多于100。剩下的几个参数同理:
--pct-motion <percent> motion一般代表的是直线滑动,事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成;
--pct-trackball <percent> 轨迹事件由一个或几个随机的移动组成,有时还伴随有点击;
--pct-nav <percent> 早期Android手机上的up/down/left/right按键;
--pct-majornav <percent> 引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键;
--pct-syskeys <percent> 这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键;
--pct-appswitch <percent> 在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法;
--pct-anyevent <percent> 它包含了所有其它类型的事件,如:按键、其它不常用的设备按钮等等
例如:adb shell monkey -p com.tencent.mm --pct-touch 50 --pct-trackball 30 100 执行100次的随机事件中,有50%的touch事件和30%的轨迹球事件,其他事件随机比例分布。
调试用:
1、--ignore-crashes
作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
注:常用。
2、--ignore-timeouts
作用:通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
注:常用。
3、--ignore-security-exception
作用:通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
注:常用。