Android移动端自动化测试环境配置与adb调试工具使用指南
Android移动端自动化测试环境配置与adb调试工具使用指南
本文主要介绍了Android移动端自动化测试的环境配置和adb调试工具的使用。文章内容包括Java环境搭建、Android SDK环境搭建、Android模拟器安装以及adb调试工具的基本介绍和具体使用方法。适合有一定技术基础的读者学习和参考。
前言
移动端自动化测试是软件测试领域的重要组成部分,特别是在Android应用开发中。为了确保应用的质量和用户体验,开发者和测试人员需要掌握一些基本的调试和测试工具。本文将详细介绍Android移动端自动化测试的环境配置和adb调试工具的使用。
一、Java环境搭建
之前文章已经介绍过,此处就不赘述了。
二、Android SDK环境搭建
Android SDK提供Android API库和开发工具,用于构建、测试和调试应用程序。
下载Android SDK
可以从以下链接下载Android SDK:
https://dl.google.com/android/android-sdk_r24.4.1-windows.zip
(也可以直接安装Android Studio开发工具,内部集成了Android SDK)
安装SDK
解压后运行文件夹中的SDK Manager.exe,安装以下组件:
- SDK Tools
- SDK Platform-Tools
- SDK Build-Tools
配置环境变量
新建环境变量ANDROID_HOME,值为SDK的目录。将以下三个路径加入PATH:
- %ANDROID_HOME%\tools
- %ANDROID_HOME%\platform-tools
- %ANDROID_HOME%\build-tools
验证配置是否成功,可以在命令行输入adb,如果看到版本号则表示配置成功。
三、Android模拟器安装
为了让系统找到模拟器上的手机设备,需要进行以下操作:
- 运行adb devices可以看到此时没有设备。
- 将Android SDK文件夹下platform tools下的adb.exe复制到夜神的bin文件夹下,并改名为nox_adb.exe,然后重启夜神。
- 再用adb devices检测到的就是夜神模拟器的设备。
四、adb调试工具基本介绍
4.1 adb构成和基本原理
简介
ADB(Android Debug Bridge)是Android开发/测试人员不可或缺的强大工具,也是Android设备玩家的好玩具。安卓调试桥(Android Debug Bridge, adb)是一种可以用来操作手机设备或模拟器的命令行工具。
构成
- client端:在电脑上,负责发送adb命令
- daemon守护进程:在手机上,负责接收和执行adb命令
- server端:在电脑上,负责管理client和daemon之间的通信
工作原理
- client端将命令发送给server端
- server端会将命令发送给daemon端
- daemon端进行执行
- 将执行结果返回给server端
- server端将结果再返回给client端
4.2 adb获取包名,界面名
包名和界面名的概念
- 包名:对应着应用程序
- 界面名:对应着应用程序的某个界面,也叫做启动名
如何获取包名和界面名
mac
adb shell dumpsys window windows | grep mFocusedApp
windows
adb shell dumpsys window windows | findstr mFocusedApp
应用场景
后期,我们告诉计算机到底打开哪一个应用和哪一个界面,必须使用的一个写代码的参数。
示例
作用:获取设置程序的包名和界面名
- 先在模拟器或手机中打开《设置》应用程序
- 输入对应平台的命令
图示说明:
结果如下:
mFocusedApp=AppWindowToken{53309da token=Token{2e2fa785 ActivityRecord{2928d4fc u0 com.android.settings/.Settings t1127}33
其中:
- 包名为:com.android.settings
- 界面名为:.Settings
4.3 adb文件传输
两种情况
- 发送文件到手机
- 从手机中拉取文件
发送文件到手机
- 应用场景:将手机需要的数据(数据库文件)在电脑上调整好,直接发送给手机
- 命令格式:
adb push 电脑的文件路径 手机的文件夹路径
- 示例:将桌面的a.txt 发送到手机的sd 卡
adb push C:\users\hm\Desktop\a.txt /sdcard
从手机拉取文件
- 应用场景:将手机产生的文件(数据库文件,日志文件)拉取到电脑中
- 命令格式:
adb pull 手机的文件路径 电脑的文件夹路径
- 示例:将手机的sd卡的a.txt拉取到桌面
adb pull /sdcard/a.txt c:\users\hm\Desktop
4.4 adb获取app启动时间
应用场景
- 如果企业对应用程序的启动速度有要求,则需要使用这个命令进行测试
- 测试标准:参照同类软件,启动时间不能超出一倍即可
命令格式
adb shell am start -W 包名/启动名
示例
作用:启动com.android.settings程序并且进入主界面(.Settings)
代码实现:
adb shell am start -W com.android.settings/.Settings
解释:
- ThisTime:该界面(activity)启动耗时(毫秒)
- TotalTime:应用自身启动耗时=ThisTime+应用application等资源启动时间
- waitTime:系统启动应用耗时=TotalTime+系统资源启动时间(毫秒)
4.5 adb获取手机日志
应用场景
将bug的日志信息发送给开发人员,便于开发人员定位bug使用步骤。当成发生崩溃的时候,可以将日志信息发送给开发人员,便于其快速的定位bug。关于崩溃的处理,需要找日志中的“at”前面,的第一个字符是E的就是错误信息。
使用步骤
- 打开需要测试的应用程序
- 找到触发bug的位置
- 使用查看日志命令
- 触发bug
- 获取日志信息命令格式
命令格式
adb logcat
示例
- 安装bug.apk
- 打开《有bug的程序》应用程序
- 命令行中输入adb logcat命令
- 点击登录按钮
- 获取日志信息
4.6 adb其他有关命令
命令1:安装app到手机
代码:adb install 路径/xx.apk
命令2:卸载手机上的app,需要指定包名
代码:adb uninstall 包名
命令3:获取当前电脑已经连接设备和对应的设备号
代码:adb devices
命令4:进入到安卓手机内部的linux系统命令行中
代码:adb shell
命令5:启动adb服务端,出bug时使用可以重启服务器,先关闭再启动
代码:adb start-server
命令6:停止adb服务端,出bug时使用可以重启服务器,先关闭再启动
代码:adb kill-server
命令7:查看adb帮助,命令记不清楚时有用
代码:adb --help
总结
本文详细介绍了Android移动端自动化测试的环境配置和adb调试工具的使用,包括Java环境搭建、Android SDK环境搭建、Android模拟器安装以及adb调试工具的基本介绍和具体使用方法。这些内容对于从事Android应用开发和测试的人员具有一定的参考价值。