连接
手机链接电脑
执行命令行(首先安装android_sdk)
adb devices
显示数据即为连接成功
如果连接失败,可能是5037端口被占用
ps -ef |grep 5037 //查找5037端口服务进程
kill xxxx //杀掉相应进程
之后重新连接即可
执行monkey命令
adb shell
monkey -p $appPackage -v -v -v --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes 10000 -s 1>>/sdcard/info.txt 2>>/sdcard/error.txt
命令解读
** -p 指定包.可指定一个包或几个包
adb shell monkey -p com.baidu.input -p com.sohu.input 1000
** 日志 -v
-v -v -v 增加-v增加日志的详情级别
adb shell monkey -p com.baidu.input -v -v -v 1000
** -s (seed)伪随机数生成器的种子值,相同的种子值运行monkey,事件的序列相同
adb shell monkey -p com.baidu.input -s 1234 重现种子值为1234的事件序列
** -throttle 事件间隔.事件间隔300ms,
adb shell monkey -p com.baidu.input --throttle 300 -v -v 1000
** -pct 动作事件 Monkey的事件种类一般是11种,不同的Android SDK中的Event percentages种类和顺序也不同哦。
--pct-touch 70 触摸事件百分比70
--pct-motion 5 手势事件百分比70
--pct-trackball 5 轨迹球事件百分比10
--pct-pinchzoom 2 缩放事件百分比2
--pct-rotation 0 屏幕旋转事件百分比0
--pct-nav 0 基本导航事件百分比0
--pct-majornav 5 主要导航事件百分比5
--pct-syskeys 5 系统事件百分比 5
--pct-appswitch 2 Activity启动事件百分比2
--pct-flip 2 键盘翻转事件百分比
--pct-anyevent 2 其他事件百分比
** -ignore 忽略错误事件
--ignore-crashes 忽略crash
--ignore-timeouts 忽略timeouts
--ignore-security-exceptions 忽略权限错误
--ignore-native-crashes 忽略本地应用程序发生崩溃
** -kill-process-after-error 错误后停止应用
** -monitor-native-crashes Android系统原生代码中的监视和报告崩溃
** 2>&1 错误重定向 每个进程都和三个系统文件相关联.标准输入stdin,标准输出stdout,标准错误stderr.文件描述符分别为0,1,2
所以这里的2>&1,代表把标准错误也输出到标准输出中.这样标准输出的日志内容就包含了标准错误的日志内容
1 ./test.sh > 111.log 标准错误输出到前台,标准输出输出到111.log.log日志不包含报错内容
2 ./test.sh > 222.log 2>&1 标准错误和标准输出都输出到222.log日志中
3 ./test.sh > info.log 2>err.log 标准输出输出到info.log 标准错误重定向到err.log
** 保存日志
adb shell monkey -p com.baidu.input -v -v -v 1000 >d:\monkey.txt 2>&1
中间阶段停止monkey
原理就是杀掉monkey进程
adb shell
ps | grep monkey
kill xxx