前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 Robotium 自动化测试工程从 Eclipse 迁移至 Android Studio

基于 Robotium 自动化测试工程从 Eclipse 迁移至 Android Studio

原创
作者头像
腾讯移动品质中心TMQ
修改2017-07-06 10:24:11
1.6K0
修改2017-07-06 10:24:11
举报

作者:陈航特

团队:腾讯移动品质中心TMQ

导读

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环境。

[1498811895120_1353_1498812009121.png]
[1498811895120_1353_1498812009121.png]

3、检查确认安装好的Android Studio关联好正确的Android sdk路径。

二、按官方文档导入项目

官方详情文档:https://developer.android.com/studio/intro/migrate.html#android_studio

按文档中所介绍的,将Eclipse项目导入Android Studio中,导入后工程目录结构如下:

[1498811908355_1751_1498812022423.png]
[1498811908355_1751_1498812022423.png]

app/src/main目录下包含了原测试工程作为Android项目的主要文件,包含代码文件java、清单文件AndroidManifest.xml等。同时Android Studio自动生成了build.gradle、gradlew等等gradle构建相关的文件。

三、设置代理

若国内网络受限,可以对Android Studio设置网络代理。

[1498811956348_8641_1498812070438.png]
[1498811956348_8641_1498812070438.png]

四、调整测试工程

Android Studio是将被测工程与测试工程放一起的,而我们这个基于Robotium的自动化测试不想依赖源码。当时是为了独立apk工程,因此迁移后,需要将main下的目录全拷贝一份至androidTest目录,同时为了使main目录下能正常编译,创建了个空壳Android项目,即main下只包含一个简单Activity的最简Android工程。结构如下:

[1498813982476_5375_1498814096520.png]
[1498813982476_5375_1498814096520.png]

需要注意的是,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。

[1498814046878_8988_1498814160941.png]
[1498814046878_8988_1498814160941.png]

相应的Scope有compile、TestCompile、Provided、Debug Compile等等。

Test Compile:构建测试工程时用到的依赖包;

Provided:编译时需要,但不需要打包进apk的依赖包。

设置后,build.gradle构建文件中会自动生成类似如下的内容:

[1498814076144_3729_1498814190178.png]
[1498814076144_3729_1498814190178.png]

也可直接修改build.gradle文件调整依赖包。

六、修改签名

类似于Eclipse,测试工程需要与被测工程同样的签名,为了在平时调试时就能正常运行用例,需要Android Studio对测试工程的打包默认就用被测工程的签名。

[1498814097954_9148_1498814212000.png]
[1498814097954_9148_1498814212000.png]
[1499244073419_5446_1499244192211.png]
[1499244073419_5446_1499244192211.png]

配置后,相应的build.gradle文件就会包含相应的签名信息:

[1499244086800_4334_1499244205417.png]
[1499244086800_4334_1499244205417.png]

七、运行测试用例

1、运行用例类中的所有用例:

右键选中测试用例类,选择Run xxxTest;

2、运行用例类中的某个用例:

打开该用例类,光标放在该用例的代码中,右键选择Run即可

要修改运行配置,则如下图点击Edit Configurations。

[1499244117981_5665_1499244236653.png]
[1499244117981_5665_1499244236653.png]
[1499244170683_543_1499244289342.png]
[1499244170683_543_1499244289342.png]

运行用例后可以在命令行中看到am instrument调起用例:

[1499244187149_579_1499244305767.png]
[1499244187149_579_1499244305767.png]

至此,Eclipse中的测试工程就已经迁移至Android Studio,且可以正常运行测试用例了。

八、持续构建测试工程

Android Studio的工程根目录下有gradlew可执行文件,该文件即gradle的封装版,可以不用事先手动安装gradle。运行gradlew tasks可以看到当前项目的gradle任务列表,如下图所示,可以看到使用gradlew assembleAndroidTest即可构建测试工程。

[1499244206285_2325_1499244324904.png]
[1499244206285_2325_1499244324904.png]

参考附录:

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。

获取更多测试干货,请搜索微信公众号:腾讯移动品质中心TMQ!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导读
  • 一、环境准备
  • 二、按官方文档导入项目
  • 三、设置代理
  • 四、调整测试工程
  • 五、配置Java依赖库
  • 六、修改签名
  • 七、运行测试用例
  • 八、持续构建测试工程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档