写点什么

App 测试必学技能 adb 命令

  • 2024-11-26
    北京
  • 本文字数:1815 字

    阅读完需:约 6 分钟

全面解析软件测试开发:人工智能测试、自动化测试、性能测试、测试左移、测试右移到DevOps如何驱动持续交付 

在移动应用(App)的测试中,ADB(Android Debug Bridge)是一项必不可少的技能。它是 Android 提供的命令行工具,用于与设备或模拟器进行通信。熟练掌握 ADB 命令,能够帮助测试人员高效执行操作,如安装应用、抓取日志、模拟用户行为等。本文将介绍 ADB 的基础用法和常见场景,并通过案例展示如何在 App 测试中运用这些技能。


一、ADB 的基础概念

1. 什么是 ADB?

  • ADB 是 Android SDK 提供的工具,用于通过命令行与 Android 设备交互。

  • 支持多种操作,包括设备管理、文件操作、应用调试、日志收集等。

2. ADB 的工作原理

  • ADB 客户端与设备间通过 USB 或网络连接。

  • 基于客户端-服务器架构:客户端:通过命令行向设备发送指令。守护程序(daemon):运行在设备上的后台服务。服务器:在本地 PC 上运行,管理客户端与守护程序的通信。


3. 如何安装和配置 ADB?

  1. 安装 Android SDK 工具


    下载 Android SDK Platform-Tools,并解压到指定目录。

  2. 配置环境变量


    将 Platform-Tools 路径添加到系统 PATH 环境变量中。

  3. 验证安装


    打开命令行,输入以下命令:

adb version
复制代码
  1. 若显示版本信息,则安装成功。


二、ADB 的基本命令

1. 设备连接管理

  • 查看已连接的设备:


    bash


    复制代码


adb devices
复制代码
  • 输出设备列表及其状态,如 device(正常连接)、offline(未连接)。

  • 连接设备(Wi-Fi 模式):

adb connect <IP地址:端口号>
复制代码
  • 适用于无线连接设备。

  • 重启 ADB 服务:

adb kill-serveradb start-server
复制代码

2. 应用管理

  • 安装 APK 文件:

adb install <路径/文件名.apk>
复制代码
  • 可选参数:-r 表示覆盖安装。

  • 卸载应用:

adb uninstall <包名>
复制代码

例如卸载微信:

adb uninstall com.tencent.mm
复制代码

查看设备上已安装的应用包:

adb shell pm list packages
复制代码

可结合过滤条件,如仅查看以 com. 开头的应用:

adb shell pm list packages | grep "com."
复制代码

3. 文件操作

  • 上传文件到设备:

adb push <本地文件路径> <设备文件路径>
复制代码

例如:

adb push test.txt /sdcard/
复制代码

从设备中下载文件:

adb pull <设备文件路径> <本地保存路径>
复制代码

例如:

adb pull /sdcard/test.txt .
复制代码

查看设备文件系统

adb shell ls <路径>
复制代码

4. 调试与日志

  • 查看实时日志:

adb logcat
复制代码

可根据应用包名过滤日志:

adb logcat | grep <包名>
复制代码

清空日志:

adb logcat -c
复制代码

捕获崩溃信息:

adb bugreport > bugreport.txt
复制代码

三、ADB 在 App 测试中的高级用法

1. 模拟用户操作

  • 模拟点击事件:

adb shell input tap <x坐标> <y坐标>
复制代码

例如模拟点击屏幕中心:

adb shell input tap 500 500
复制代码

模拟滑动操作:

adb shell input swipe <x1> <y1> <x2> <y2> <持续时间>
复制代码

例如模拟从屏幕顶部滑到底部:

adb shell input swipe 500 100 500 1500 1000
复制代码

模拟按键事件:

adb shell input keyevent <键值>
复制代码
  • 常见键值:


    3:HOME 键

    4:返回键

    26:电源键

    82:菜单键

2. 性能监控

  • 查看 CPU 和内存使用情况:

adb shell top
复制代码

或通过过滤指定包名:

adb shell top | grep <包名>
复制代码

获取指定应用的性能数据:

adb shell dumpsys meminfo <包名>
复制代码
  • 输出包括内存使用、缓存等详细信息。

3. 抓取屏幕截图

  • 截图保存到设备:

adb shell screencap /sdcard/screenshot.png
复制代码

下载截图到本地:

adb pull /sdcard/screenshot.png
复制代码

直接在终端显示截图:

adb shell screencap -p | sed 's/\r$//' > screenshot.png
复制代码

四、ADB 命令常见应用场景

1. 快速安装和卸载应用

在多设备测试中,可通过 ADB 命令快速批量安装、卸载应用,提高效率。

2. 异常日志收集

当 App 出现崩溃或异常时,通过 ADB 的日志抓取功能快速定位问题。

3. 测试弱网场景

结合代理工具(如 Charles),通过 ADB 捕获和修改网络请求,模拟弱网或无网状态。

4. 自动化测试

ADB 可与自动化框架(如 Appium)结合使用,实现批量操作和测试用例执行。


五、使用 ADB 的注意事项

  1. 设备权限管理


    确保设备已开启开发者选项,并允许 USB 调试模式

  2. 多设备连接


    如果同时连接多台设备,需指定设备序列号:

adb -s <设备ID> <命令>
复制代码
  1. 网络安全


    无线连接模式下需确保网络安全,避免未授权访问。


六、总结

ADB 是 App 测试人员不可或缺的工具,熟练掌握其基础命令和高级用法,可以显著提升测试效率和问题定位能力。本文介绍了常用 ADB 命令及其在实际测试中的应用场景,希望能为你的 App 测试工作提供实用参考。

如果你刚开始接触 ADB,不妨从基础命令入手,通过实践熟悉其操作流程。随着技能的提升,你会发现 ADB 是一个功能强大的利器,为你的测试工作带来巨大便利!


用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
App 测试必学技能 adb 命令_测试_测吧(北京)科技有限公司_InfoQ写作社区