Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于 Robotium 自动化测试工程从 Eclipse 迁移至 Android Studio

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

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

作者:陈航特

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

导读

2016年11月份,google已正式宣布停止对集成开发环境IDEEclipse的支持,虽然早在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。

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android开发者的UI自动化测试上手指南
开发人员测试自己所开发软件的行为就像学生在完成考试后对自己的成绩进行评估,所以可能会出现下面的问题:
蜻蜓队长
2018/08/03
9430
Android开发者的UI自动化测试上手指南
应用宝基于Robotium自动化测试(上)
1. 背景目的 应用宝项目组采用FT(Feature Team)模式,整个项目组分为多个FT,而每个FT又同时有多个需求分支在并行运作着,几乎每天都有多新特性合入主干,项目节奏快、变更频繁,且又希望能够短周期内快速地对外发布新版本,做到快速交付、持续交付。 为了支撑项目组的这种研发模式,测试侧需要在FT分支上及主干上做大量的测试,而其中在FT分支的rebase测试、合流后验证、主干灰度测试等等阶段还包括大量的重复性测试,因此有必要在这些环节加入自动化测试,以持续验证新特性未破坏原有系统。 2. 框架选择 如
腾讯移动品质中心TMQ
2018/02/05
2.1K0
应用宝基于Robotium自动化测试(上)
Android Uiautomator2 脱机 Monkey 测试
前些日志在社区看了【有赞团队的一篇记一次基于Robotium 改造的测试实践】 https://testerhome.com/articles/18752.
测试加
2022/03/24
3.4K1
Android Uiautomator2 脱机 Monkey 测试
像 google 一样测试系列之六: 实战篇
腾讯移动品质中心TMQ
2017/10/19
1.6K0
像 google 一样测试系列之六: 实战篇
腾讯TMQ在线沙龙|Robotium自动化测试介绍
Robotium自动化测试介绍 活动时间:2016年9月29日 QQ群视频交流 活动介绍:TMQ在线沙龙第九期分享 本次分享的主题是Robotium自动化测试介绍。 想知道活动分享了啥吗?往下看吧! 活动嘉宾 嘉宾简介 陈航特,腾讯测试工程师,负责Android应用宝的UI功能自动化测试和接口自动化测试,有丰富的UI自动化实践经验,对Robotium有着较深入的研究,参与《腾讯Android自动化测试实战》编写。 分享主题 背景目的介绍 Robotium框架介绍 Robotium实践应用 问答
腾讯移动品质中心TMQ
2018/02/06
1.8K0
腾讯TMQ在线沙龙|Robotium自动化测试介绍
Gradle for Android简要指南
前言 Android官网构建系统介绍https://developer.android.com/studio/build/index.html
Anymarvel
2018/10/22
8910
App工程从Eclipse迁移到Android Studio的问题总结
这段时间把一个App工程从原来的ADT环境(即Eclipse)迁移到Android Studio环境,发现并处理了一系列迁移问题,兹记录如下。把ADT工程迁移到AS,通常的做法是打开Android Studio,依次选择菜单“File”——“New”——“Import Module”,然后点击窗口右边的浏览按钮选择ADT工程的路径,点击“Finish”按钮,等待Android Studio识别并导入ADT工程。一般导入成功的话,接下来便能按照正常操作步骤来编译和运行了;可是老大难的旧工程往往会产生这样那样的错误,需要逐一进行格式转换或者配置调整工作。
aqi00
2019/01/18
1.7K0
【腾讯 TMQ 】移动 APP 自动化测试框架对比
作者:赵丽娜 简介 移动 APP 的 UI 自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。 从分层测试的角度,自动化测试应该逐层进行。 最大量实现自动化测试的
腾讯移动品质中心TMQ
2017/03/06
6.9K0
【Android应用开发】Android Studio 简介 (Android Studio Overview)
Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的;
韩曙亮
2023/03/27
2.8K0
【Android应用开发】Android Studio 简介 (Android Studio Overview)
第七章 Android Gradle插件
从这章开始我们就开始介绍Android Gradle插件了,会通过几章由浅入深的详细的介绍Android Gradle,本章会简单的介绍下Android Gradle插件,然后通过一个例子对其有大概的了解,最后讲下如果从原来基于Eclipse进行Android开发的方式,转到基于Android Studio,使用Android Gradle插件开发的新方式
acc8226
2022/05/17
1.1K0
第七章 Android Gradle插件
一种 Android 端 Web 多进程情况下支持 Web 自动化测试的方法
本文介绍了应用宝在Android平台支持Web自动化测试的方案,主要从架构设计、实现细节、流程梳理、支持Web自动化测试方案、Web多进程后的支持方案、Web自动化测试方案的插件化设计等方面进行了详细阐述。方案采用的主要技术包括Java、Android、JavaScript、Appium、Selenium、XWalk等,并介绍了如何通过插件化的方式实现Web自动化测试,以支持多进程、提高测试效率、保证测试准确性和稳定性,同时也为其他平台的Web自动化测试提供了参考和借鉴。
腾讯移动品质中心TMQ
2017/07/12
2.3K0
一种 Android 端 Web 多进程情况下支持 Web 自动化测试的方法
第十二章 Android Gradle测试
对于研发来说,测试永远都是绕不开的,通过测试我们可以减少bug率,提高产品的质量。测试有黑白之分,我们这里主要讲白盒测试,也就是基于现有代码逻辑的测试,比如单元测试等。
acc8226
2022/05/17
5680
第十二章 Android Gradle测试
从0系统学Android--1.3创建你的第一个 Android 项目
在 Android Studio 的欢迎页面点击 Start a new Android Studio project 就会自动为我们创建一个项目。(首次开启项目,可能构建时间很长,需要下载很多东西,和你的网速有关系)
开发者
2019/12/26
6340
手把手带你做UI自动化测试
互联网产品的迭代速度远高于传统软件,尤其是移动APP不但更新频繁,还需要在不同硬件、系统版本的环境下进行大量兼容测试,这就给传统测试方法和测试工具带来了巨大挑战。为满足产品敏捷开发、快速迭代的需求,自动化测试逐渐流行起来。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
程序员鑫港
2021/12/27
4.9K0
应用宝基于Robotium自动化测试(下)
基于Robotium自动化测试(上)》一文中小编介绍了框架选择、测试环境搭建、用例编写、跨应用处理等等内容,本文将承接上文,继续介绍测试报告生成、持续集成等等相关内容。 6. 测试工程 6.1 测试工程概览 使用Robotium进行自动化测试,测试工程为一个Android Junit Test工程,可以依赖被测工程,与可以选择独立存在。 关联被测工程源码的好处在于可以调用被测工程的代码,因此可以更容易地获取到被测应用内部的状态,例如拿到被测应用ListView内部填充的数据等等。而这样也会带来一些弊端
腾讯移动品质中心TMQ
2018/02/05
1.8K0
应用宝基于Robotium自动化测试(下)
Android Studio 环境搭建与使用
注意:此时项目创建完成,第一次建立的工程会发现卡在启动界面,是因为在从网上下载gradle构建工具,由于从国外站点下载,网速很慢,这里点击取消关闭该界面,采用手动配置gradle;首先找到.gradle文件夹的路径,一般是在用户账号文件夹下,比如我这里是C:\Users\issuser.gradle会发现该文件夹下生成了下图中的文件
下码看花
2019/09/02
2K0
Android Studio 环境搭建与使用
Android Studio之gradle的配置与介绍
Android Studio之gradle的配置与介绍 非著名程序员 1、gradle的简单介绍 Gradle是可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具。其实Gradle脚本是基于一种JVM语言— Groovy,再加上DSL组成的。由于Groovy是JVM语言,所以可以使用大部分的Java语言库。所谓DSL就是专门针对Android开发的插件,比如标准Gradle之外的一些新的方法(Method)、闭包(Closure)等等。通过我们
非著名程序员
2018/02/01
1.9K0
提示[译] Plaid 应用迁移到 AndroidX 的实践经历
Plaid 是一款呈现 Material Design 风格和丰富交互界面的有趣应用。最近这款应用通过现今的 Android 应用开发技术实现了一番重构。获取更多应用信息和重新设计的视觉效果,可以查阅 Restitching Plaid。
Android 开发者
2019/05/17
1.1K0
【测试左移专栏】用 Powermock 和 Mockito 来做安卓单元测试
作者:刘洋 团队公众号:腾讯移动品质中心TMQ 一、单元测试及Android单元测试简介 惯例,先简单介绍下理论知识,懂得的可以跳过。 1、单元测试定义和特性 单测定义: 在计算机编程中,单元测试(U
腾讯移动品质中心TMQ
2017/06/01
4.6K0
掌握Android Studio项目结构,扬帆起航
经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当。在之前简单讲过Eclipse中Android工程的项目结构
分享达人秀
2018/02/02
2.9K0
掌握Android Studio项目结构,扬帆起航
相关推荐
Android开发者的UI自动化测试上手指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档