前言
作为一名测试工作者,避免不了接触app测试工作,不管是进行功能测试还是性能测试,都需要对系统本身以及一些命令熟悉了解,才能构建出适合自己的自动化工具。这篇文章我们主要介绍adb
命令,了解他的用法。
ADB
ADB(Android Debug Bridge)是Android调试桥,它是一个用于与Android设备通信的命令行工具。ADB提供了丰富的功能,可以帮助开发人员在开发、测试和调试Android应用程序时更加高效和便捷。
基本用法
- 获取设备:
adb devices
- 安装应用程序:
adb install <path_to_apk>
,其中<path_to_apk>
是待安装应用程序的路径。 - 卸载应用程序:
adb uninstall <package_name>
,其中<package_name>
是应用程序的包名。 - 拷贝文件到设备:
adb push <local_file> <device_location>
,其中<local_file>
是本地文件的路径,<device_location>
是设备上目标位置的路径。 - 从设备上复制文件:
adb pull <device_file> <local_location>
,其中<device_file>
是设备上的文件路径,<local_location>
是本地目标位置的路径。 - 关闭adb后台进程:
adb kill-server
- 让Android脱离USB线的TCP连接方式 :
adb tcpip 5555
- 连接开启了tcp连接方式的手机:
adb connect <host>[:<port>]
- 连接多个设备时指定设备:
adb -s <设备uid>
高级用法
- app入口:
adb logcat | grep -i displayed
- 杀掉应用并重新启动:
adb shell am start -W -n <package_name>/<activity_name> -S
,其中<package_name>
是应用程序的包名,<activity_name>
是要启动的Activity名称。 - 清除缓存以及权限都重置:
adb shell pm clear <package_name>
- 查看设备安装包名:
adb shell pm list packages
- 输出日志到某个文件:
adb logcat -d>logcat.txt
- 打印默认日志数据:
adb logcat
- 打印日志详细时间的简单数据:
adb logcat -v time
- 打印级别为Error的信息:
adb logcat "*:E"
- 打印时间和级别是Error的信息:
adb logcat -v time "*:E"
MAC系统使用该命令,需要添加双引号 - 指定包名输出日志:
adb logcat -v time *:E -e <package_name>
- 清除之前的日志信息:
adb logcat -c
- 过滤日志:
adb logcat | grep "kpl_coach" | grep "PkRoomActivity"
- 获取近期崩溃日志:
adb shell logcat -b crash
- 获取SDK版本号:
adb shell getprop ro.build.version.release
- 获取手机名称:
adb shell getprop ro.product.brand
- 获取手机型号:
adb shell getprop ro.product.model
- 获取手机IP:
adb shell ifconfig
- 获取手机设备ID:
adb shell settings get secure android_id
- 获取手机分辨率:
adb shell dumpsys window displays
- 获取手机Mac地址:
adb shell cat/sys/class/net/wlan0/address
- 获取手机截图:
adb shell screencap /sdcard/screenshot.png
- 录制屏幕:
adb shell screenrecord
- 根据包名得到进程id:
adb shell ps | grep <package_name>
性能统计
- 获取所有的dumpsys子命令:
adb shell dumpsys | grep -I DUMP
- 获取当前activity:
adb shell dumpsys activity top
- 获取特定包基本信息:
adb shell dumpsys package <package_name>
- 获取系统通知:
adb shell dumpsys notification
- 获得内存信息:
adb shell dumpsys meminto <package_name>
- 获取cpu信息:
adb shell dumpsys cpuinfo
- 获取gpu绘制分析:
adb shell dumpsys gfxinfo <package_name>
- 获取电量:
adb shell dumpsys battery
最后
熟悉这些命令后,我们就可以方便构建自己的自动化代码或者自动化测试工具。