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

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的主界面

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文件目录

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的路径
  •  
  • b其他几个路径配置到系统环境Path中
  •  
  • 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桌面是它的一大特色。本套教程将基于夜神模拟器来演示讲解。

猜你喜欢

转载自blog.csdn.net/AriesZhao23/article/details/81669464