monkey测试.常用的adb命令和monkey命令

参考1 : https://blog.csdn.net/mafei852213034/article/details/72757679

参考2:https://www.xuebuyuan.com/3246442.html

 

Monkey 就是SDK中附带的一个工具。Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

** 查看设备连接 

   adb devices

 

** 列出手机已安装的包名

  adb shell pm list packages     手机装的app所有包名

  adb shell pm list packages -s    系统所有包名

  adb shell pm list packages -3    列出除了系统应用的第三方应用包名

** 查询包

  adb shell pm list package |findstr baidu

  或adb shell下,pm list package |grep baidu

 

 ** 清除应用数据

  pm clear com.baidu.input

 

** 安装卸载

  adb install d:\com.baidu.input

  adb uninstall com.baidu.input

  

** 查看monkey进程

  windows: adb shell ps |findstr monkey

  linux: $adb shell

           $ps | grep monkey

 

** 杀掉进程

  adb shell kill [pid进程号]

 

** -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

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

6  压测命令

****cmd下****

日志保存到pc,跑monkey过程中需一直连接数据线到电脑:

adb shell monkey -p com.baidu.input --ignore-crashes --ignore-timeouts  -ignore-security-exceptions --pct-touch 70 --pct-motion 25 --pct-majornav 5 -v -v -v --throttle 300 100000 > d:\monkey1.txt

 monkey -p 包名 忽略crash,忽略timeout,忽略权限异常,触摸事件70,手势事件25,主要导航事件5,日志三级,间隔300ms,100000次事件,输出到d盘monkey.txt.标准错误也输出到标准输出中.

** 导出手机日志

adb logcat -v threadtime >d:/loacat1.txt

** cpu 内存监控命令

adb shell top -d 1 |findstr com.baidu.input > d:/cpu1.txt

** 停止进程命令

adb shell am force-stop com.baidu.xxx

 

****adb shell下

日志保存到手机,断开数据线也可正常进行,最后把日志从手机导出到pc进行查看.

abd shell

$cd /sdcard

$mkdir monkeytest

$cd monkeytest

monkey命令:

monkey -p com.baidu.input --ignore-crashes --ignore-timeouts  -ignore-security-exceptions --pct-touch 70 --pct-motion 25 --pct-majornav 5 -v -v -v --throttle 300 100000 > monkey1.txt

导出日志

adb pull /sdcard/monkeytest/monkey1.txt  d:/

 

 

 

**日志处理:

  参考:https://blog.csdn.net/teamlet/article/details/38046409

 

 

 

 

 

 

你可能感兴趣的:(monkey)