一,首先你要先搭建环境,在电脑中下载安装jdk,sdk
1.先下载jdk 具体安装流程请参考:https://blog.csdn.net/write6/article/details/79136388
2.再下载sdk 具体安装流程请参考:https://blog.csdn.net/u011541946/article/details/77142045
不要忘记配置环境变量呦!
3.下载adb安装包 地 址:http://www.downza.cn/soft/219906.html
adb需要配置环境变量。
二,打开手机的开发者调试工具,用usb数据线链接你的手机;
手机的开发者调试工具在每个型号的手机中位置不太一样,但是大体都是相仿的。
三,monkey前的准备命令
1.windows+r 输入cmd进入dos命令行;
2.输入adb devices 下面出现类似下图的组合你就成功了;
3.获取包名(我常用的几种)
若是不获取包名,需要再电脑端通过命令安装在手机上APP;
1.安装APP至手机命令:adb install tryke.apk
2.页面显示返回 Success后说明安装成功
3.adb uninstall -k xxx.app:卸载 -k保留数据卸载
若是不安装APP,可从手机端通过命令查看所有的安装包
(1)输入 adb shell pm list packages 查看你的手机所有的安装包;
输入 adb shell pm list packages -3 查看手机上所有的第三方安装包,看一眼差不多就知道哪一个是你要的安装包;
(2)使用uiaotumator之类的软件查看,
(3)DOS环境输入:adb shell logcat|findstr “Displayed” ,手机端打开待测试的APP;
红线1是包名,红线2是appActivity(自动化测试时能用到)
四,首先用一个最简单的mokey去试着找哪个是你想要的安装包名称:
1./ / -p参数:表示指定测试的程序(空格后面跟安装包名字,拿刚才的第三方安装包一个个试)
/ /-v参数:表示查看monkey执行过程的信息(日志级别)(-v 越多越详细,最多三个)
/ /数字100:表示测试事件数为100
指定一个包 adb shell monkey -p com.tencent.news -v -v -v 100 (此时指定软件会被打开并开始乱点乱按)
指定多个包 adb shell monkey -p com.tencent.news -p com.pdfreader -p com.widgets -v 1000
不指定包 adb shell monkey -v 1000
Event percentages(事件百分比):
0:触摸事件百分比,参数–pct-touch
1:滑动事件百分比,参数–pct-motion
2:缩放事件百分比,参数–pct-pinchzoom
3:轨迹球事件百分比,参数–pct-trackball
4:屏幕旋转事件百分比,参数–pct-rotation
5:暂时不知道这个是什么
6:基本导航事件百分比,参数–pct-nav
7:主要导航事件百分比,参数–pct-majornav
8:系统事件百分比,参数–pct-syskeys
9:Activity启动事件百分比,参数–pct-appswitch
10:键盘翻转事件百分比,参数–pct-flip
11:其他事件百分比,参数–pct-anyevent
2.–throttle 设定两个事件之间一个固定延迟,可以减缓monkey的执行速度。如果不指定,monkey将不会被延迟,事件将尽可能快地生成和发送消息。单位:毫秒
eg:adb shell monkey --throttle 3000 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。
3.–pct-touch (空格后加数字)设定触屏事件生成的百分比。触屏事件是一个有手指按下,抬起事件的手势。
eg: adb shell monkey --throttle 3000 --pct-touch 50 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定触屏的事件占比为50%。
4.–pct-motion 设定滑动事件生成的百分比。滑动事件是一个先在某一个位置手指按下,滑动一段距离后再抬起手指的手势。
eg: adb shell monkey --throttle 3000 --pct-motion 50 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定滑动的事件占比为50%。
5.–pct-trackball 设定轨迹球事件生成的百分比。轨迹球事件是包含一系列随机移动和单击事件的事件
eg:adb shell monkey --throttle 3000 --pct-trackball 50 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定轨迹球的事件占比为50%。
6.–pct-nav 设定基本导航事件生成的百分比。基本导航事件是模拟方向性在设备上输入向上、向下、向左、向右的事件。
eg:adb shell monkey --throttle 3000 --pct-nav 40 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定基本导航事件的占比为40%。
7.–pct-majornav 设定主要导航事件生成的百分比。主要导航事件通常会导致UI产生回馈信息,如单击Back键、Home键、Menu键等、
eg: adb shell monkey --throttle 3000 --pct-majornav 40 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定主要导航事件的占比为40%。
8.–hprof
指定了该参数,Monkey会在发送事件序列的前、后,生成性能分析报告。通常会在data/misc目录下生成一个5MB左右大小的文件
9.–ignore-crashes
通常情况下,monkey会在测试应用程序崩溃或者发生异常后停止运行,若指定了该参数,则monkey将会在产生异常后,继续向系统发送事件,直到指定事件全部运行完毕。
10.–ignore-timeouts
通常情况下,当应用程序发生任何超时错误(application not responding)时,monkey将停止运行。若指定了该参数,则monkey将会在产生错误信息后,继续向系统发送事件,直到指定事件全部运行完毕
11.–ignore-security-exceptions 通常情况下,指定应用程序发生许可错误时(如证书许可,网络许可等),monkey将停止运行。若指定了该参数,即使应用程序发生许可错误,monkey会继续向系统发送事件,直到指定事件全部运行完毕。
eg:adb shell monkey --throttle 3000 --pct-trackball 50 -p com.tencent.news --ignore-security-exceptions 100
- 参数: --kill-process-after-error
用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态
(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。
adb shellmonkey -p cn.emoney.acg --kill-process-after-error 1000
- 参数: --monitor-native-crashes
用于指定是否监视并报告应用程序发生崩溃的本地代码。
adb shellmonkey -p cn.emoney.acg --monitor-native-crashes 1000
14.杀monkey进程
如果想中断运行中的monkey CTRL+C
adb shell ps | grep monkey 返回进程号
adb shell kill [刚才查到的进程号]
结束进程:ctrl+c
还需要了解monkey runner 和monkey script
感谢这位博主
https://blog.csdn.net/just__like/article/details/83757492?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control