App 自动化测试 基础知识 adb

adb 全名 Andorid Debug Bridge,中文直译就是“调试桥接器”。顾名思义,这是一个Debug 工具。为什么需要这样一个工具呢?

手机或模拟器,后文中统称为设备,即移动设备。本教程使用逍遥安卓模拟器 作为演示工具。

因为 PC 和设备之间需要通过网络连接。而我们绝大部分的开发工具、测试攻击均运行在 PC 上,相当于需要通过网络远程调试(测试)应用,就需要一款工具能够用来连接 PC 和 手机。

adb 由谷歌官方提供,包含在 Android SDK 的 tools 文件夹中。关于 Android SDK 及其他的 App 自动化环境部署请查看 Android Appium环境搭建。只要该环境部署好后,adb 命令就可以直接在命令提示符中使用。

adb包含如下几个部分:
• Client 端,运行在 PC 机,用来发送 adb 命令;
• Deamon 守护进程,运行在调试设备中,即手机或模拟器;
• Server 端,作为一个后台进程运行在 PC 上,用来管理PC 中的 Client 端和手机的 Deamon 之间的通信。

常见的 adb 命令

以下命令是自动化过程中用的最多的命令。如果需要查看所有 adb 相关命令,请查阅 ADB 用法大全。

注意,命令练习前请先启动 逍遥安卓模拟器

adb devices
列出当前电脑连接的设备,通过此命令可以获取当前与 PC 连接的设备名称,地址端口等。

C:\Users\Nemo> adb devices
List of devices attached
127.0.0.1:21503 device
  • 模拟器连接后显示的是: 模拟器的ip:端口
  • 真机连接后显示的是:真机的UID
    如果第二列显示的不是 device 而是 offline说明设备连接有问题。

adb server的启动和停止:

  1. 启动 adb server 命令:
adb start-server

一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动启动。比如adb devices命令输入时,如果 adb 服务没有启动,将自动启动服务。


adb服务
  1. 停止 adb server 命令:
adb kill-server

adb pull/push 拷贝文件

如果我们需要在设备和 PC 之间互相拷贝文件可以用到 adb pull/push 命令

# 从 PC 上拷贝文件到设备目录
adb push E:\data\ecmobile.apk /sdcard/

# 从设备拷贝文件到 PC
adb pull /sdcard/screen.png E:\data\app

adb install/uninstall 安装和卸载应用
adb install 用来安装应用到设备上。需要指定 PC 上存放的 APK 文件。

adb install E:\data\ecmobile.apk

adb uninstall 用来卸载设备上已安装的应用。需要指定包名,可以先通过 adb shell pm list packages -3查看包名。

ecshop手机版包名

adb uninstall com.insthub.ecmobile

adb shell 进入 Android 命令行
进入调试设备的 shell 界面,此时可以使用调试设备中的很多指令,因为 android 系统是基于 linux 内核的,所以shell命令类似 linux 的 shell 命令。比如 cd ls 等。

而当你输入 adb shell命令后,就会处于 Android 的命令行界面。

adb shell

adb connect/disconnect 连接设备

adb connect + IP ,可以连接某个设备。
如果是通过USB与PC连接的Android自带模拟器、Genymotion、真机等设备在adb命令启动时会自动连接,部分国产模拟器需要通过adb connect命令连接,通过局域网远程连接的机器必须使用adb connect命令连接。

adb connect 
adb disconnect 

比如,连接和断开逍遥安卓模拟器:

adb connect 127.0.0.1:21503
adb disconnect 127.0.0.1:21503

adb 命令非常强大,可以依托 adb 工具设计很多测试的辅助工具。可以多研究一下。

你可能感兴趣的:(App 自动化测试 基础知识 adb)