欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【移动App自动化测试4】---2基于Android系统的自动化测试环境

程序员文章站 2024-03-22 00:02:34
...

1.JDK环境

 

2.Android SDK

SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

下载链接1:https://android-sdk.en.softonic.com/download

下载链接2(网盘较快): http://tools.android-studio.org/index.php/sdk

2.1Android SDK Manager

启动SDK Manager.exe 程序就可以看到Android SDK Mannerger的主界面

【移动App自动化测试4】---2基于Android系统的自动化测试环境

Tools目录

Android SDK Tools(必须,只需下载一个版本,一般选最新版本):基础工具包,版本号带rc字样的是预览版。

Android SDK Platform-tools(必须,只需下载一个版本,一般选最新版本):从android2.3开始划出此目录,存放公用开发工具,比如adb、sqlite3等,被划分到了这里。

Android SDK Build-tools(必须,可以安装多个版本):Android项目构建工具。

 

Android xxx(API xx) 目录(可选的各平台开发工具)

Documentation for AndroidSdk(可选):安卓开发者官网的一些离线文档,不过下载下来打开也很慢,后面会提供另外一个离线版。

SDK Platform(必须):对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个。

Samples for SDK(可选,此项在高版本tools中已不提供,需要在IDE里通过Import Sample引入,当然也可以下载离线版):内置的安卓示例程序,推荐安装。

Sources for Android SDK(可选):安卓API的源代码,推荐安装。

ARM /Intel xxxx Image(可选):各个以Image结尾的东西是支持相应平台的模拟器,我们就把它想象成一个刷机包吧。(使用真机调试或使用其它模拟器的话不需要安装)

Extras目录(可选的扩展):

 

Android Support Repository(可选):主要是方便在gradle中使用Android Support Libraries,因为Google并没有把这些库发布到maven center或者jcenter去,而是使用了Google自己的maven仓库。

Intel x86 Emulator Accelerator(HAXM installer)(可选):windows平台的Intel x86模拟器加速工具,配合Intel x86 atom/atom_64 System Image使用可加快模拟器的运行速度

2.2Android SDK文件目录

【移动App自动化测试4】---2基于Android系统的自动化测试环境

add-ons

这里面保存着附加库,第三方公司为android 平台开发的附加功能系统。比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。

docs

这里面是Android SDKAPI参考文档,所有的API都可以在这里查到。

extras

该文件夹下存放了Android support v4,v7,v13,v17包; 还有google提供额USB驱动、Intel提供的硬件加速等附加工具包, 和market_licensing作为AndroidMarket版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。

platforms

是每个平台的SDK真正的文件,存放了不同版本的android系统。里面会根据APILevel划分的SDK版本。

samples

是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学 习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发Snake、LunarLander都是不错的例子,对于Android主 题开发Home则是androidm5时代的主题设计原理。

 

2.3环境变量设置

  • a系统变量里面添加变量名 ANDROID_HOME 路径为实际存放SDk的路径
  • 【移动App自动化测试4】---2基于Android系统的自动化测试环境
  •  
  • b其他几个路径配置到系统环境Path中
  • 【移动App自动化测试4】---2基于Android系统的自动化测试环境
  •  
  • c.配置检测(adb、appt)

 

3.UIAutomator

3.1说明

Android SDK在4.3中提供了如下工具来支持UI自动化测试:

  • uiautomatorviewer – 一个图形界面工具来扫描和分析应用的UI控件。存放在tools目录
  • uiautomator – 一个测试的Java库,包含了创建UI测试的各种API和执行自动化测试的引擎。

要使用该工具,需要满足如下条件:

  • Android SDK Tools, Revision 21 or higher
  • Android SDK Platform, API 18 or higher

 

3.2使用方法

  1. 开启真机(或模拟器)的USB调式模式后连接电脑
  2. 打开设备上的App界面
  3. 启动UI Automatorviewer
  4. 获取对应页面的元素(多设备连接时要选择需要获取元素的设备)

3.3常见错误

报错1

Error while parsing UI hierarchy XML file: Invalid ui automator hierarchy file.

一般Andriod 4.X系统会容易出现,换5.X及以上的系统OK

 

报错2

java.lang.ArrayIndexOutOfBoundsException

一般是设备息屏,导致页面没有元素显示,获取时数组地址越界报错,**设备重启UI Auto即可

 

报错3

Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!

这个错的原因是因为没有dump下来界面的信息保存到uidump.xml文件中,而该文件保存在/data/local/tmp下,如果没生成该文件,uiautomatorviewer就会报这个错。

解决方案为:重启设备或者重新连接

 

4.常见模拟器

个人使用:

Genymotion:

中文官网http://www.genymotion.net/question/

官网:https://www.genymotion.com/

 

其他:

1、BlueStacks

印度公司研发。对于国内部分流行游戏兼容性没有及时支持。受制于内核技术,虽然推出时间长,但是游戏兼容性,尤其是性能欠佳。

2、靠谱助手

国内最早(2013年开始)基于Bluestacks内核的安卓模拟器,优化了使用界面。但是靠谱缺少属于自己的内核技术,在兼容性和性能方面需要提升,产品不成熟。

3、海马玩

国内首款基于Oracle Virtualbox商业版的安卓模拟器,2014年底产品推出时与Bluestacks内核的安卓模拟器形成鲜明对比,版本与功能更新速度慢,弹出广告插件多,占用资源明显。

4、逍遥安卓(http://www.xyaz.cn/

2015年中推出的基于Virtualbox深度定制的安卓模拟器。业界首创的一键多开是其亮点。版本更新快,需求响应及时。模拟器性能和兼容性均不错,流畅、口碑好。

5、夜神模拟器(https://www.yeshen.com/

另一款基于Virtualbox定制的安卓模拟器,直接集成NOVA桌面是它的一大特色。本套教程将基于夜神模拟器来演示讲解。