一篇文章学懂ADB命令和Monkey命令

一篇文章学懂ADB命令和Monkey命令

  • 1.adb命令
    • 1.1 查看连接设备
    • 1.2 查看adb版本
    • 1.3 查看手机当前启动App的应用名和包名
    • 1.4 使用aapt使用aapt 查看app的包名和启动名 查看app的包名和启动名
    • 1.5 查看所有系统应用
    • 1.6 查看所有第三方应用
    • 1.7 列出手机装的所有app的包名
    • 1.8 安装软件
    • 1.9 卸载软件
    • 1.10 将电脑文件传输到移动端,将移动端文件传输到电脑
    • 1.11 截取当前屏幕信息
    • 1.12 查看手机CPU情况
    • 1.13 查看应用内存使用情况
    • 1.14 显示磁盘使用信息
    • 1.15 清除应用缓存信息
    • 1.16 查看电池状态和查看电池信息
    • 1.17 导出log文件到本地
  • 2. monkey命令
    • 2.1 随机对手机进行操作,包括点击,拖动,滑动,输入等操作,并打印日志
    • 2.2 随机种子数
    • 2.3 解析日志
    • 2.4 事件调整
    • 2.5 等待时间的参数 --throttle毫秒
    • 2.6 日志查看

1.adb命令

1.1 查看连接设备

adb devices

在这里插入图片描述

1.2 查看adb版本

adb version

1.3 查看手机当前启动App的应用名和包名

adb shell dumpsys window w |findstr \/ |findstr name=

在这里插入图片描述

1.4 使用aapt使用aapt 查看app的包名和启动名 查看app的包名和启动名

aapt即Android Asset Packing Tool ,在android SDK 的build-tools 目录下。这个工具可以查看apk的包名启动名
我的appt在 D:\AndroidSDK\android-sdk-windows\build-tools\25.0.3这个路径下面
把这个路径添加到path环境变量,这样就可以直接在cmd中使用appt了

aapt dump badging D:\test\xxx.apk(APK的全名)

一篇文章学懂ADB命令和Monkey命令_第1张图片

1.5 查看所有系统应用

adb shell pm list packages –s #

一篇文章学懂ADB命令和Monkey命令_第2张图片

1.6 查看所有第三方应用

adb shell pm list packages -3

一篇文章学懂ADB命令和Monkey命令_第3张图片

1.7 列出手机装的所有app的包名

adb shell pm list packages

一篇文章学懂ADB命令和Monkey命令_第4张图片

1.8 安装软件

adb install 软件名

在这里插入图片描述

1.9 卸载软件

adb uninstall 软件包名

在这里插入图片描述

1.10 将电脑文件传输到移动端,将移动端文件传输到电脑

adb push 电脑路径 移动端路径
adb pull 移动端路径 电脑路径
一篇文章学懂ADB命令和Monkey命令_第5张图片
在这里插入图片描述

1.11 截取当前屏幕信息

adb shell screencap -p 截图文件路径

一篇文章学懂ADB命令和Monkey命令_第6张图片

1.12 查看手机CPU情况

adb shell dumpsys cpuinfo

一篇文章学懂ADB命令和Monkey命令_第7张图片

1.13 查看应用内存使用情况

adb shell dumpsys meminfo + 包名

一篇文章学懂ADB命令和Monkey命令_第8张图片

1.14 显示磁盘使用信息

adb shell dumpsys diskstats

在这里插入图片描述

1.15 清除应用缓存信息

adb shell pm clear [包名]

在这里插入图片描述

1.16 查看电池状态和查看电池信息

adb shell dumpsys battery

adb shell dumpsys batteryproperties
一篇文章学懂ADB命令和Monkey命令_第9张图片

1.17 导出log文件到本地

adb logcat >D:\logs\1.txt
一篇文章学懂ADB命令和Monkey命令_第10张图片
adb logcat -v time >D:\logs\1.txt

使用adb logcat -v time 命令, 可以啥看日志的输出时间

adb logcat *:W # 将Warning日志输出

adb logcat *:E # 将Error日志输出

2. monkey命令

2.1 随机对手机进行操作,包括点击,拖动,滑动,输入等操作,并打印日志

adb shell monkey -p 要测试的包 -v -v -v 要操作的次数

一篇文章学懂ADB命令和Monkey命令_第11张图片

  • 日志解读

一篇文章学懂ADB命令和Monkey命令_第12张图片
一篇文章学懂ADB命令和Monkey命令_第13张图片

2.2 随机种子数

adb shell monkey -p 要测试的包 -v -v -v -s 种子数 要操作的次数

随机种子数:其中-s表示随机种子数,用于控制我们操作的顺序,种子数一样,表示所有的操作顺序一样

  • 没有-s参数时,系统随机生成的种子数,每次的操作顺序不一样

    • 第一次运行一篇文章学懂ADB命令和Monkey命令_第14张图片一篇文章学懂ADB命令和Monkey命令_第15张图片
    • 第二次运行
      一篇文章学懂ADB命令和Monkey命令_第16张图片
      一篇文章学懂ADB命令和Monkey命令_第17张图片
  • 添加种子数后运行

    • 第一次运行
      一篇文章学懂ADB命令和Monkey命令_第18张图片
      一篇文章学懂ADB命令和Monkey命令_第19张图片
  • 第二次运行
    一篇文章学懂ADB命令和Monkey命令_第20张图片
    一篇文章学懂ADB命令和Monkey命令_第21张图片

2.3 解析日志

第一部分:基本信息,要操作的次数和哪个app
一篇文章学懂ADB命令和Monkey命令_第22张图片
第二部分:操作事件的比率
一篇文章学懂ADB命令和Monkey命令_第23张图片
第三部分:详细的操作日志
一篇文章学懂ADB命令和Monkey命令_第24张图片

第四部分:总共运行了多久
在这里插入图片描述

2.4 事件调整

  • 常用随机事件

一篇文章学懂ADB命令和Monkey命令_第25张图片

一篇文章学懂ADB命令和Monkey命令_第26张图片
一篇文章学懂ADB命令和Monkey命令_第27张图片
app做健壮性测试,200次,然后要求点击事件必须要达到80%
一篇文章学懂ADB命令和Monkey命令_第28张图片
一篇文章学懂ADB命令和Monkey命令_第29张图片
对app,要求点击事件50%,滑动事件50%,操作20次。

在这里插入图片描述
在这里插入图片描述

2.5 等待时间的参数 --throttle毫秒

adb shell monkey –p 包 –v –v –v –throttle 1000 次数

解释:这个每个随机事件之间的间隔(排除无效的间隔时间)

设置每个事件的间隔为1s那么,里面要运行60次,我们可以运行240次(排除一些无效的时间)*4倍

在这里插入图片描述
在这里插入图片描述

2.6 日志查看

运行app500次,然后把日志保存在d:\123\mlog.txt文件下,并分析有没有问题

一篇文章学懂ADB命令和Monkey命令_第30张图片
常见的日志错误
一篇文章学懂ADB命令和Monkey命令_第31张图片

adb基本命令总结

'''起始'''
adb kill-server			# 关闭服务	
adb start-server		# 开启服务
adb devices				# 查看连接的设备
adb version				# 查看adb版本
adb get-state			# 设备状态	
#device:设备连接正常;offline:连接设备出现异常,设备无响应;unknown:没有连接设备

'''安装apk'''
adb install apk路径	   # 覆盖安装软件(本地路径,不是手机路径)
adb install -r (APK路径)		 # 覆盖安装(-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。)
adb install -s (APK路径)		 # -s 安装在SD卡内,而不是设备内部存储
adb uninstall 包名		#卸载apk

'''启动apk'''
adb shell am start –n 启动应用程序的界面activity的名称	#启动应用程序
adb shell am force-stop 包名		#关闭应用程序

'''系统命令'''
adb shell						# 进入手机
exit;							# 退出手机
adb shell pm list packages –s	# 查看所有系统应用
adb shell pm list packages -3	# 查看所有第三方应用
adb shell pm list packages		# 列出手机装的所有app的包名
adb uninstall 软件名			  	# 卸载软件

adb push 电脑路径 移动端路径		# 将电脑文件传输到移动端
adb pull 移动端路径 电脑路径		# 将移动端文件传输到电脑

adb help								# 查看adb命令帮助信息
adb shell screencap -p 截图文件路径		# 截屏
adb shell dumpsys cpuinfo				# 查看手机CPU情况
adb shell dumpsys meminfo + 包名	   		# 查看应用内存使用情况
adb shell dumpsys diskstats				# 显示磁盘使用信息
adb shell pm clear [包名]				# 清除应用缓存信息
adb shell dumpsys battery 				# 查看电池状态
adb shell dumpsys batteryproperties		# 查看电池信息

'''日志'''
adb logcat >D:\logs\1.txt			# 导出log文件到本地
adb logcat -v time >D:\logs\1.txt	# 使用adb logcat -v time 命令, 可以啥看日志的输出时间
adb logcat -t 5        输出最近5行的数据

# 过滤指定等级日志:按某级别过滤日志则会将该级别及以上的日志输出。将 Warning、Error、Fatal 和 Silent 日志输出。
# V —— Verbose(最低,输出得最多)
# D —— Debug
# I —— Info
# W —— Warning
# E —— Error
# F —— Fatal
# S —— Silent(最高)

adb logcat *:W						# 将Warning日志输出
adb logcat *:E						# 将Error日志输出

Monkey测试命令

adb shell monkey 100			# 在app端执行monkey随机测试100次,
adb shell monkey -p 包名  100	# 指定app进行monkey随机测试100次(-p 包名)

'''日志'''
adb shell monkey -p 包名 -v 30 	# 显示日志详细程度,总共分3个级别逐个加 -v ,30是事件,做多少次。
adb shell monkey -p 包名 -v -v 30
adb shell monkey -p 包名 -v -v -v 30
adb shell monkey 100 >路径		# 将log信息写到文档中,路径是本地路径,不是手机路径

'''--throttle(延时毫秒)'''
adb shell monkey -p 包名 --throttle 300 100
# 表示执行100个伪随机用户事件流,事件间隔为300毫秒。注:一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件。

'''--ignore-crashes(不忽略异常)'''
# 通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
adb shell monkey --ignore-crashes -v 30

'''--ignore-timeouts(ANR)'''
# 通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
adb shell monkey --ignore-timeouts –v 10

'''-pct-touch 占比率(设置触摸事件占比)'''
# 调整触摸事件的百分比。(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作)
adb shell monkey --pct-touch 67 -v 10	# 表示执行10个伪随机用户事件流,并调整其中触摸事件的百分比为67%。

'''--pct-motion 占比率(设置手势事件占比)'''
# 调整手势事件motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成)
# –pct-motion:动作事件。以Down(ACTION_DOWN)开始,Up(ACTION_UP)结尾,中间至少有一次Move(ACTION_MOVE)。
adb shell monkey --pct-motion 67 -v 10	# 表示执行10个伪随机用户事件流,并调整其中动作事件的百分比为67%。

'''设置其他占比率命令'''
# 二指缩放百分比,即智能机上的放大缩小手势操作
1. --pct-pinchzoom//pinch 

# 轨迹球事件百分比(轨迹球事件包括一个或多个随机移动,有时还伴有点击。轨迹球现在智能手机上已经没有了,就是类似手柄的方向键一样)
2. --pct-trackball//trackball

# 屏幕旋转百分比,横屏竖屏
3. --pct-rotation//screen

# 基本导航事件。即来自于方向输入设备的上下左右操作。
4. --pct-nav//nav

# ”主要”导航事件百分比(这些导航事件通常会引发UI的事件,例如5-way pad的中间键、回退键、菜单键)
5. --pct-majornav//major

# ”系统”按钮事件百分比(这些按钮一般专供系统使用,如Home, Back, Start Call, End Call,音量控制)
6. --pct-syskeys//system(key)

# 启动activity事件百分比。在随机的间隔里,Monkey会执行一个startActivity()调用,作为最大程度覆盖包中全部
7. --pct-appswitch//app


# 键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
8. --pct-flip//keyboard

# 其他类型事件百分比。包括了其他所有的类型事件,如按键、其他不常用的设备上的按钮等等。(该事件可能包含其他上述事件。)
9. --pct-anyevent//anyevents

你可能感兴趣的:(软件测试,android,android,studio,压力测试)