Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 相似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。做为官方主推的开发环境和中止对其余开发IDE的支持,Android Studio将成为从此惟一的android开发环境。本文主要介绍在Android Studio环境下的Robotium测试框架使用方法和持续集成。 java
2.1 基础环境配置 android
先来看一下Android Studio中的工程结构,以下图所示: shell
Android Studio创建的工程会自带一个测试包,如图所示,androidTest即为测试包,测试用例就放在这个包内。若是项目目录内无此测试包,也可直接在src目录下建立test/java目录。建立完成后,检查build.gradle文件查看是否加入了junit4依赖,若是没有就作加入以下配置: app
dependencies { 框架
compile fileTree(dir: 'libs', include: ['*.jar']) eclipse
compile 'com.android.support:appcompat-v7:22.1.1' maven
testCompile 'junit:junit:4.12' 工具
} 开发工具
2.2 引入robotium包 测试
将robotiumd 的jar包复制到工程的libs目录下,右键点击jar包,在下拉菜单中点击以下图所示选项:
2.3 建立一个testcase并运行
在测试包内新建一个javaclass,代码内容和eclipse ADT开发模式下的robotium测试case保持一致。点选testcase类,右键后选择run,在设备列表中选择设备后便可运行case。运行过程日志能够在界面下方run页面中看到。
通过上面的配置,已经能够在Android Studio 下使用Robotium框架进行自动化测试。下面介绍持续集成。
3.1 了解gradle
Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。也是Android Studio官方推荐的构建工具。
3.2 使用gradle进行自动构建
3.2.1 gradle命令行环境配置
下载gradle,解压到任意目录。
配置环境变量,在PATH中加入路径”$gradle安装目录/bin”,更新环境变量。
在命令行模式中运行gradle –v,若是出现版本信息,则说明配置成功。
3.2.2 经常使用命令
下面先介绍一下gradle的几个经常使用命令
gradle clean:删除build文件夹
gradle build:执行项目编译
gradle installDebug:安装debug版本包到设备
gradle intstallDebugAndroidTest:安装debug测试包到设备
gradle uninstallDebug:卸载debug版本包
gradle unintstallDebugAndroidTest:卸载debug测试包
gradle uninstallAll:卸载全部包
gradle test:执行测试
3.2.3 Build.gradle
build.gradle文件是一个构建脚本,相似于ant中的build.xml。当运行gradle命令的时候会从当前目录查找build.gradle文件来执行构建。从第一节项目目录结构图中能够看到,有两个build.gradle,和app同级的是一个顶级的build配置文件,在这里能够为全部module配置一些经常使用的配置。如依赖库、classpath。App目录下的为android的build.gradle文件。下面咱们来看一个最简单android的build.gradle的例子。
Apply plugin: ‘com.android.application’表示是一个app module,应用了com.android.application插件。其次是基于哪一个sdk版本编译和构建工具版本。defaultConfig是默认配置,若是没有其余的配置覆盖,就会使用这里的。看其属性的名字就能够知道其做用,好比applicationId是配置包名的,versionCode是版本号,versionName是版本名称等。
buildTypes是构建类型,经常使用的有release和debug两种,能够在这里面启用混淆,启用zipAlign以及配置签名信息等。
dependencies定义了该module须要依赖的jar,aar,jcenter库信息。
3.2.4 使用gradle命令运行自动化测试
按照如下脚本便可执行自动化测试:
gradle clean
gradle build
gradle uninstallAll
gradle installDebug
gradle insallDebugAndroidTest
adb shell am instrument -e coverage true -e class com.example.chenlei10.myapplication.test.TestSuit -w com.example.chenlei10.myapplication.test/android.test.InstrumentationTestRunner
其中-e 后跟要运行的testsuit或者test类。-w参数后跟测试包名。
将上述命令配置到jenkins中便可实现持续集成
3.2.5 易出现问题
1)Gradle首次编译时出现jar包没法下载的问题。
将build.gradle配置修改一下,把下载依赖包的地址改为maven库,以下:
将repositories中的jcenter()改成mavenCentral()
repositories {
mavenCentral()
}
2)Lint警告致使编译没法完成
在build.gradle内android{}内加入设置
LintOptions{
abortOnError false
}
更多干货分享请关注”百度MTC学院“http://mtc.baidu.com/academy/article