学习目标
能够了解adb的工作原理
能够应用adb常用的命令
1、adb的工作原理
1.1 adb的概念
adb 全名 Android Debug Bridge,是一个调试工具。
- 开发安卓应用的程序员必须要掌握
- 测试工程师在做安卓应用测试时,会使用到
1.2 adb的构成和工作原理
adb 包含三个部分:
1. Client端:运行在开发机器中,即你的开发电脑,用来发送adb命令;
2. Daemon 守护进程:运行在调试设备中,手机或模拟器,用来接收并执行adb命令;
3. Server端:同样运行在开发机器中,用来管理Client端和手机Daemon之间的通信。
小结
adb 工具可以在电脑通过终端命令操作安卓手机/模拟器。
adb 工作原理
1. client端将命令发送给server端
2. server端会将命令发送给daemon端
3. daemon端进行执行
4. 将执行结果,返回给server端
5. server端将结果再返回给client端
2、获取包名和类名
2.1、获取包名和类名
- 包名和界面名的概念
- 获取包名和界面名
2. 2、包名和类名的概念
- 包名(package):决定程序的唯一性(不是应用的名字)
拿计算器举例,一个手机上,可以安装各种版本的计算器,它们都叫计算器。这时候,如何让手机打开我们想要的计算器呢?这里就需要用到包名了
- 类名(activity):目前可以理解,一个类名,对应着一个界面
有了包名和类名后,才可以通过adb 代码打开一个指定的app
界面名、启动名、类名 都是指activity。只是不同的说法而已
2.3、 获取包名和类名
应用场景
自动化测试需要通过代码的形式告诉手机测试哪个应用程序的哪一个界面,所以需要通过这个命令进行获取。
使用步骤
- 打开需要测试的应用程序
- 输入adb 命令
命令格式
1、adb shell dumpsys window windows | findstr mFocusedApp
2、aapt dump badging 路径(这里的路径是apk在本地电脑中的路径,不是手机路径)
aapt 需要另外配置,无法直接使用aapt命令
获取包名和类名,主要是为了后期在使用代码的过程中,通过代码去指定启动哪一个app展开自动化测试。