腾讯Android自动化测试实战3.1.3 环境搭建-阿里云开发者社区

开发者社区> 华章出版社> 正文

腾讯Android自动化测试实战3.1.3 环境搭建

简介:

3.1.3 环境搭建

使用Robotium进行自动化测试的工程采用的是Android Junit Test工程,基础环境与Android开发环境一致,为了方便本书第3章及第10章的讲解,本书的官网(http://tmq.qq.com/)附上了改造后的NotePad和NotePadTest工程,环境搭建步骤如下:

步骤1:安装基础环境(搜索引擎搜“Android开发环境搭建”)。

步骤2:导入工程。

下载随书官网中的NotePad和NotePadTest两个工程,打开Eclipse→File→Import,选择“Existing Projects into Workspace”,如图3-2所示。选择NotePad工程所在的目录,导入NotePad工程。使用相同的步骤,导入NotePadTest工程。如图3-3所示。

 

图3-2 选择导入已存在的工程至工作空间

 

 

 

图3-3 选择NotePad及NotePadTest工程所在的目录

步骤3:配置工程。

导入两个Demo工程后,由于两个工程均包含有一些配置文件,因此如果没有提示错误,则可以直接使用;如果还有提示错误,请依实际情况检查以下配置项。

(1)配置签名:两个工程需要签名一致,这里使用Android开发环境中自带的debug.keystore进行签名,因此需要确保环境中包含该签名文件,签名配置查看:Window→Preferences→Android→Build,如图3-4所示。

(2)配置build target:build target即指定使用哪个Android平台来构建这个项目,两个工程均配置为使用target=android-19,即使用sdk中platforms目录下android-19目录中的android.jar这个jar包编译项目,如图3-5所示。

若你的开发环境中未下载相应的API level的jar包,请使用SDK Manager下载,或者自行将project.properties配置文件中的target换成用户机器中已下载的API level。

 

图3-4 检查签名文件

 

图3-5 配置build target

(3)引用Robotium的jar包并关联源码:Robotium测试框架以jar包形式提供,在测试工程中引用Robotium的jar包即可。Android的Junit形式测试工程与Android工程一样,将要引用的jar包放入libs目录下,在Eclipse中将默认变成Android Private Libraries私有库,这样默认在Eclipse中就可以引用该jar中的API,在编译时也会将其编译进测试工程的APK中,如图3-6所示。

此外,为了方便查看Robotium中的源码实现,一般也会选择关联引用的jar包的源码,如上图所示,在libs中新建相应的properties文件,然后使用src = 形式的命令指定源码所在的目录即可。

 

 

图3-6 配置Robotium的jar包并关联源码

(4)配置编码:新导入工程后,由于工程里会含有一些中文注释,常常会由于编码不一致,导致代码结构被破坏而引起工程编译出错,Demo中的两个工程均采用UTF-8编码,因此需要检查导入后编码是否为UTF-8,右键工程依次选择Properties→Resource,查看编码,如图3-7所示。

 

图3-7 配置编码

(5)配置Instrumentation:测试工程需要配置Instrumentation以指定要注入的被测进程,即指定被测App,在NotePadTest中使用<instrumentation>标签指定targetPackage为被测应用的包名,如图3-8所示。

步骤4:运行示例。

首先确保有手机开启了USB调试,并连接了电脑,然后如图3-9所示,右键选择示例的测试类,例如右键选择NotePadTest.java类,选择Run As→Android Junit Test,即可运行Demo中的测试用例。

 

 

图3-8 配置Instrumentation

 

图3-9 运行示例

对于环境搭建,新手较容易出现如下问题:

常见问题1:The import android cannot be resolved

需要检查上文配置工程部分中配置的build target是否正确。

常见问题2:java.lang.NoClassDefFoundError:com.robotium.solo.Solo

NoClassDefFoundError指在编译时该类是存在的,但在运行的时候找不到该类,报找不到Solo类时一般意味着Robotium的jar包未打进测试工程的apk包中。首先,右键测试工程→Build Path→Configure Build Path,查看确保在Libraries中包含了Robotium,如图3-10所示。由于demo中将Robotium的jar包放至libs目录下了,因此默认将包含至Android Private Libraries中。

然后,如图3-11所示,在Build Path的Order and Export中确保Robotium的jar包处于勾选状态(处于勾选状态即意味着该jar的Class类将被打包进测试工程的APK中,而例如Android SDK中的android.jar包,由于其Class类在手机的Android系统中已存在,因此不需要勾选,在运行时也可以找到相应的类)。

 

图3-10 确保Libraries中包含Robotium

 

图3-11 确保Order and Export中Robotium的jar包被勾选

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接