adb常用命令、monkey测试

1.ADB

即Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。

注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。

2.Monkey

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

adb常用命令:

** 查看设备连接 

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

**沉浸状态栏

adb shell settings put global policy_control immersive.status=*

**全屏沉浸

adb shell settings put global policy_control immersive.full=*

**恢复到正常模式

adb shell settings put global policy_control null

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

你可能感兴趣的:(adb常用命令、monkey测试)