adb是PC端控制移动端的桥梁,也是移动端自动化测试(包括Appium自动化测试)的基础,本章会重点介绍它。
自动化功能测试是以程序测试程序,以代码代替思维,以脚本的运行代替手工操作。本章中,会结合手工测试介绍App测试的常见手工操作、按键以及坐标点获取,为后面书写自动化测试用例代码打下基础。
除此之外,本章的侧重点为Appium自动化测试工具,以及完成Appium配置所需要的前期准备工作,如获取Appium配置项(如获取Main Activity值)等。
6.1 adb命令
adb的全称为Android Debug Bridge,它是一种命令行工具,在Android设备与PC之间起到调试桥梁的作用,方便用户通过PC直接操作Android设备。在我们的平时工作生活中常见的一些通过计算机操作手机的软件(如360手机助手、豌豆荚等)都通过adb实现对手机的操控。本节介绍一些常用的adb命令和测试中要使用到的adb命令。
6.1.1 在手机上启动USB调试
使用adb命令控制Android设备之前,需要先启动Android设备上的USB调试。以Oppo手机为例,执行以下步骤来完成USB调试的启动。
在手机主界面中,选择"设置"→"常规"→"关于手机"→"版本号",连续单击"版本号"7次,会提示进入"开发者选项"界面,如图6-1所示。
图6-1 进入"开发者选项"界面
在"开发者选项"界面中,单击右上角的滑动按钮,开启USB调试,如图6-1所示。在弹出的对话框上,单击"开启"按钮,如图6-2所示。
用数据线连接计算机和手机,会提示"允许USB调试吗",如图6-3所示。
勾选"一律允许使用这台计算机进行调试"复选框,单击"确定"按钮,启动手机调试。
6.1.2 adb命令环境搭建
通常,对于已经安装Android SDK的设备,adb工具位于Android SDK安装目录的platform-tools文件夹下。若安装SDK的时候将该目录配置到了环境变量里,则可以直接在Windows命令行工具中使用;若没有加入系统环境变量中,则建议加入,以方便使用。platform-tools目录的结构如图6-4所示。
图6-4 adb在platform-tools目录中的位置
如果安装了SDK并配置了相关环境变量,使用命令行窗口来调用adb命令。首先打开"开始"菜单,单击"运行",然后在文本框中输入"cmd",按<Enter>键,就直接进入Windows的命令行界面,如图6-5所示。
图6-5 进入Windows命令行命界
在命令行界面中,输入"adb",如果安装adb成功,则会回传adb的调试信息。如图6-6所示,此时表示adb已经可以正常使用了,用户可以在命令行工具中直接输入adb命令来完成各种操作。
图6-6 检查adb是否安装成功
6.1.3 adb组织结构简介
adb的组织结构如图6-7所示。
adb主要由以下3部分组成。
" 运行在PC端的客户端,可以通过cmd命令行使用adb命令启动客户端(借助其他一些工具(如手机助手、豌豆荚等)也可以直接启动adb客户端)。当启动一个adb客户端的时候,客户端首先确认是否已经存在正在运行的adb进程,如果没有则启动进程。
" 作为后台进程运行的服务器端,adb服务器运行后会自动绑定本地的TCP端口5037,监听客户端发来的命令。所有的adb客户端都通过端口5037与adb服务器进行对话。
图6-7 adb的组织结构
" 在Android设备上,以后台进程的形式运行的adb后台守护进程①。
adb服务器运行后,自动绑定本地的TCP端口5037,监听所有通过5037端口发来的客户端请求。接着adb服务器会扫描5555~5585范围内所有的奇数端口来定位设备实例。一旦找到运行在Android设备上的adb守护进程,就建立一个基于该端口的连接。
任何Android设备或者模拟器设备都会取得两个连续的端口,即一个奇数端口和一个偶数端口。奇数端口用来处理adb连接,偶数端口用来处理控制台的连接。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。