adb devices
adb version
adb shell dumpsys window w |findstr \/ |findstr name=
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 shell pm list packages –s #
adb shell pm list packages -3
adb shell pm list packages
adb install 软件名
adb uninstall 软件包名
adb push 电脑路径 移动端路径
adb pull 移动端路径 电脑路径
adb shell screencap -p 截图文件路径
adb shell dumpsys cpuinfo
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
adb logcat -v time >D:\logs\1.txt
使用adb logcat -v time 命令, 可以啥看日志的输出时间
adb logcat *:W # 将Warning日志输出
adb logcat *:E # 将Error日志输出
adb shell monkey -p 要测试的包 -v -v -v 要操作的次数
adb shell monkey -p 要测试的包 -v -v -v -s 种子数 要操作的次数
随机种子数:其中-s表示随机种子数,用于控制我们操作的顺序,种子数一样,表示所有的操作顺序一样
没有-s参数时,系统随机生成的种子数,每次的操作顺序不一样
添加种子数后运行
第二次运行
第一部分:基本信息,要操作的次数和哪个app
第二部分:操作事件的比率
第三部分:详细的操作日志
第四部分:总共运行了多久
app做健壮性测试,200次,然后要求点击事件必须要达到80%
对app,要求点击事件50%,滑动事件50%,操作20次。
adb shell monkey –p 包 –v –v –v –throttle 1000 次数
解释:这个每个随机事件之间的间隔(排除无效的间隔时间)
设置每个事件的间隔为1s那么,里面要运行60次,我们可以运行240次(排除一些无效的时间)*4倍
运行app500次,然后把日志保存在d:\123\mlog.txt文件下,并分析有没有问题
常见的日志错误
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:\logs1.txt # 导出log文件到本地
adb logcat -v time >D:\logs1.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