导读
2016年11月份,google已正式宣布停止对集成开发环境(IDE)Eclipse的支持,虽然早在google推出Android Studio时就早已知道这一天迟早会到来,但由于多年的Eclipse使用习惯及项目中的其他原因,自动化测试工程仍然使用Eclipse中进行开发与维护。在自动化测试适配Android7.0版本时,发现Eclipse已无法很好支持用例的编写与调试,故迁移至Android Studio已成必然。
本文记录介绍在Eclipse上的基于Robotium自动化测试工程如何迁移至Android Studio,如何配置项目,及如何基于gradle持续构建测试工程。
一、环境准备
1、安装Android Studio;
下载地址:http://www.android-studio.org/
2、升级JDK至1.8(推荐);
新版的Android工具大多用的JDK1.8,不过如果是用的Android Studio,则推荐使用内建的JRE环境。
3、检查确认安装好的Android Studio关联好正确的Android sdk路径。
二、按官方文档导入项目
官方详情文档:https://developer.android.com/studio/intro/migrate.html#android_studio
按文档中所介绍的,将Eclipse项目导入Android Studio中,导入后工程目录结构如下:
app/src/main目录下包含了原测试工程作为Android项目的主要文件,包含代码文件java、清单文件AndroidManifest.xml等。同时Android Studio自动生成了build.gradle、gradlew等等gradle构建相关的文件。
三、设置代理
若国内网络受限,可以对Android Studio设置网络代理。
四、调整测试工程
Android Studio是将被测工程与测试工程放一起的,而我们这个基于Robotium的自动化测试不想依赖源码。当时是为了独立apk工程,因此迁移后,需要将main下的目录全拷贝一份至androidTest目录,同时为了使main目录下能正常编译,创建了个空壳Android项目,即main下只包含一个简单Activity的最简Android工程。结构如下:
需要注意的是,Android Studio默认会将androidTest目录下的测试工程的packagename设置为被测工程的packagename加后缀.test,即若Android工程的packagename为com.tencent.example,那么测试工程的packagename则为com.tencent.example.test。而为了让包名与原来保持一致,需要修改build.gradle,设置testApplicationId。
五、配置Java依赖库
刚将Eclipse工程导入Android Studio后,依赖库可能设置有误,此时需要修改相应依赖库File——Project Structure。
相应的Scope有compile、TestCompile、Provided、Debug Compile等等。
Test Compile:构建测试工程时用到的依赖包;
Provided:编译时需要,但不需要打包进apk的依赖包。
设置后,build.gradle构建文件中会自动生成类似如下的内容:
也可直接修改build.gradle文件调整依赖包,
六、修改签名
类似于Eclipse,测试工程需要与被测工程同样的签名,为了在平时调试时就能正常运行用例,需要Android Studio对测试工程的打包默认就用被测工程的签名。
配置后,相应的build.gradle文件就会包含相应的签名信息:
七、运行测试用例
1、运行用例类中的所有用例:
右键选中测试用例类,选择Run xxxTest;
2、运行用例类中的某个用例:
打开该用例类,光标放在该用例的代码中,右键选择Run即可
要修改运行配置,则如下图点击Edit Configurations。
运行用例后可以在命令行中看到am instrument调起用例:
至此,Eclipse中的测试工程就已经迁移至Android Studio,且可以正常运行测试用例了。
八、持续构建测试工程
Android Studio的工程根目录下有gradlew可执行文件,该文件即gradle的封装版,可以不用事先手动安装gradle。运行gradlew tasks可以看到当前项目的gradle任务列表,如下图所示,可以看到使用gradlew assembleAndroidTest即可构建测试工程。
参考附录:
1、测试工程官方详情文档:
https://developer.android.com/studio/test/index.html;
2、Eclipse工程迁移至Android Studio文档:
https://developer.android.com/studio/intro/migrate.html#android_studio;
3、Android Studio用户指南:
https://developer.android.google.cn/studio/intro/index.html?hl=zh-cn