JavaApp自动化测试系列[v1.0.0][adb命令]

adb是PC端控制移动端的桥梁,也是移动端自动化测试包括Appium自动化测试的基础,所谓自动化就是以程序测试程序,以代码代替思维,以脚本的运行代替手动操作
adb的全称是Android Debug Bridge,它其实就是一种集成在安卓SDK中的命令行工具,我们平时用到的PC端控制移动端的工具几乎都是依赖它来完成对移动端的操作的

Android Debug Bridge结构

adb主要有3个部分组成

  • 运行在PC端的客户端,可以通过cmd命令行使用adb命令启动客户端,当启动一个adb客户端的时候,客户端首先确认是否已经存在正在运行的adb进程,如果没有则启动进程
  • 作为后台进程运行的服务器端,adb服务器运行后会自动绑定本地的TCP端口5037监听客户端发来的命令,所有的adb客户端都通过端口5037与adb服务器进行对话
  • 在Android设备上,以后台进程的形式运行的adb后台守护进程

adb服务器运行后,自动绑定本地的TCP端口5037,监听所有通过5037端口发来的客户端请求,紧接着adb服务器会扫描5555到5585范围内所有的奇数端口来定位设备实例,一旦找到运行在Android设备上的adb守护进程,就会建立一个基于该端口的链接
任何Android设备或者模拟器都会取两个连续的端口,也就是一个奇数端口一个偶数端口,其中奇数端口用来处理adb链接,偶数端口用来处理控制台连接

JavaApp自动化测试系列[v1.0.0][adb命令]_第1张图片

adb常用命令

adb devices

使用adb devices可以获得当前PC链接的所有移动端设备包括模拟器,列出的设备都包含有唯一标识的序列号和该设备的链接状态,然后可以通过adb -e -d -s 序列号 子命令的形式选择某个设备执行子命令

  • -s: 如果有多态模拟器和多态设备实例,使用-s来区分要执行adb子命令的设备或模拟器
  • -e: 如果设备只有一个模拟器实例和一台Android设备,可以通过-e来选择模拟器
  • -d: 如果设备只有一个模拟器实例和一台Android设备,可以通过-d来选择设备实例

adb forward

adb forward tcp:####tcp:####可以设置任意的端口号,通过这个命令设置主机向模拟器或Android设备的请求端口,一个模拟器或Android设备实例的某一特定主机端口向另一个端口转发请求,例如adb forward tcp:5555 tcp:8000这样所有发往5555端口的数据都会被转发到8000端口上

adb服务启停

  • 停止adb服务器命令为adb kill-server
  • 启动adb服务器命令为adb start-server

链接设备

在实际测试过程中USB口有限,不可能一直使用USB模式,除了USB还可以使用WIFI的形式完成PC和Android设备的链接,只要PC和手机连接相同的WIFI并且手机通过USB和PC相连,链接命令为adb connect host:port断开连接命令adb disconnect host:port

安装卸载程序

文件管理命令

日志命令

截图命令

系统命令

adb Activity

你可能感兴趣的:(JavaApp自动化测试系列[v1.0.0][adb命令])