近年来,互联网行业发展面临一些挑战,对测试人员来说也增加了不少压力。大家都在努力适应变化,为了生存和发展寻找属于自己的机会。虽有困难,但每一步都是前进的一部分。加油,测试人!!!
ADB(Android Debug Bridge)简介
ADB(Android Debug Bridge)是一种通用工具,用于在开发或测试 Android 应用时与 Android 设备或模拟器交互。它允许用户执行安装/卸载应用、抓取日志、文件管理、运行 shell 命令等操作,是 Android 开发和测试中的重要工具。
基础命令
-
查看连接的设备
列出当前通过 USB 或网络连接的设备。adb devices
输出示例:
List of devices attached emulator-5554 device 0123456789ABCDEF device
-
设备重启
通过 ADB 重启 Android 设备。adb reboot
-
进入 Recovery 模式
让设备进入 Recovery 模式。adb reboot recovery
-
进入 Fastboot 模式
让设备进入 Fastboot 模式。adb reboot bootloader
安装和卸载应用
-
安装 APK 文件
将 APK 文件安装到设备中。adb install path_to_apk.apk
示例:
adb install /path/to/app-debug.apk
- 强制覆盖安装:
adb install -r path_to_apk.apk
- 强制覆盖安装:
-
卸载应用
从设备中卸载指定包名的应用。adb uninstall com.example.app
示例:
adb uninstall -k com.example.app
- 使用
-k
参数保留应用数据和缓存。
- 使用
抓取日志
-
查看实时日志
使用 ADB 查看设备上的系统日志。adb logcat
示例:
- 只查看指定级别(如
ERROR
)的日志:adb logcat *:E
- 按包名过滤日志:
adb logcat | grep com.example.app
- 只查看指定级别(如
-
将日志保存到文件
抓取日志并存储到本地文件中。adb logcat > logs.txt
文件管理
-
传输文件到设备
将本地文件推送到设备的指定路径。adb push local_file_path remote_file_path
示例:
adb push /home/user/config.json /sdcard/config.json
-
从设备中拉取文件
从设备中复制文件到本地。adb pull remote_file_path local_file_path
示例:
adb pull /sdcard/config.json /home/user/config.json
设备管理
-
查看设备 IP 地址
获取设备的 IP 地址以便进行无线调试。adb shell ifconfig
示例:
adb shell ip addr show wlan0
-
远程连接设备
使用 IP 地址连接设备。adb connect device_ip
示例:
adb connect 192.168.0.101
-
重启 ADB 服务
重启 ADB 服务以解决连接问题。adb kill-server adb start-server
系统操作
-
进入设备 Shell
打开设备的命令行 Shell 进行操作。adb shell
示例:
adb shell ls /sdcard
-
清除 App 数据
删除指定应用的所有数据和缓存。adb shell pm clear com.example.app
-
查看安装的应用列表
列出设备中安装的所有应用的包名。adb shell pm list packages
示例:
- 列出所有系统应用:
adb shell pm list packages -s
- 列出所有用户安装的应用:
adb shell pm list packages -3
- 列出所有系统应用:
性能测试
-
运行 Monkey 测试
使用 Monkey 工具执行随机操作以测试应用的稳定性。adb shell monkey -p com.example.app -v 500
参数说明:
-p
:指定应用包名。-v
:设置日志输出的详细级别。500
:设置随机操作的次数。
-
查看设备 CPU 和内存使用情况
adb shell dumpsys cpuinfo adb shell dumpsys meminfo com.example.app
-
模拟网络波动
使用tc
工具模拟不同的网络环境。adb shell tc qdisc add dev wlan0 root netem loss 10%
其他常用命令
-
模拟按键事件
模拟按键操作,比如返回键、菜单键等。adb shell input keyevent key_code
示例:
- 模拟按下返回键:
adb shell input keyevent 4
- 模拟按下返回键:
-
模拟触摸操作
模拟在屏幕上的点击操作。adb shell input tap x y
示例:
adb shell input tap 300 500
-
截图操作
在设备上截图并保存到本地。adb shell screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png ./screenshot.png