Android studio 下的robotium自动化测试和持续集成

一、前言

Android Studio是一个Android开发环境,基于IntelliJ IDEA.类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。作为官方主推的开发环境和停止对其他开发IDE的支持,Android Studio将成为今后唯一的android开发环境。本文主要介绍在Android Studio环境下的Robotium测试框架使用方法和持续集成。

二、在Android Studio中使用Robotium

2.1基础环境配置

先来看一下Android Studio中的工程结构,如下图所示:

Android Studio建立的工程会自带一个测试包,如图所示,androidTest即为测试包,测试用例就放在这个包内。如果项目目录内无此测试包,也可直接在src目录下创建test/java目录。创建完成后,检查build.gradle文件查看是否加入了junit4依赖,如果没有就做加入如下配置:

dependencies {

compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])

compile ‘com.android.support:appcompat-v7:22.1.1‘

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官方推荐的构建工具。

  1. 3.2  使用gradle进行自动构建
  2. 3.2.1    gradle命令行环境配置

下载gradle,解压到任意目录。

配置环境变量,在PATH中加入路径”$gradle安装目录/bin”,更新环境变量。

在命令行模式中运行gradle –v,如果出现版本信息,则说明配置成功。

  1. 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:执行测试

  1. 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库信息。

  1. 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中即可实现持续集成

  1. 3.2.5    易出现问题
  2. 1)Gradle首次编译时出现jar包无法下载的问题。

将build.gradle配置修改一下,把下载依赖包的地址改成maven库,如下:

将repositories中的jcenter()改为mavenCentral()

repositories {

mavenCentral()

}

  • 警告导致编译无法完成

在build.gradle内android{}内加入设置

LintOptions{

abortOnError false

}

更多干货分享请关注”百度MTC学院“http://mtc.baidu.com/academy/article

时间: 2024-10-27 13:13:16

Android studio 下的robotium自动化测试和持续集成的相关文章

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

Android Studio下SVN的用法(1) - 初识SVN

Android Studio下SVN的用法(1) - 初识SVN 前言 这几天公司又来了新人,之前都是一个人开发的项目现在需要合作开发.所以不可避免的需要使用版本控制工具. 公司使用的是SVN,网上有一大堆教程,但是发现对于新手来说,特别是从来没有接触过的人来说,往往都 说的不是很详细,甚至可以说基本没有照顾到这些方面.不要问我为什么这么清楚,因为被坑的不行了--.. PS:本篇文章是介绍AS下SVN的使用,所以可能会跟网上的教程不同 使用 下载及安装 首先前往官网下载SVN客户端,官网上下载可

android studio下的代码调试技巧的运用

记得当初刚开始学习java的时候,每次在eclipse上遇到调试程序的时候都是敲syso+快捷键,用system.out.printLn.输出语句来调试java的程序,哈哈哈,当初感觉确实蛮方便的,后来慢慢步入到安卓,然后使用安卓版的eclipse,在安卓代码当然是要杜绝java的输出语句了,于是又用输出日志Log的几种方式来调试,偶尔还会用到吐司调试(尴尬),eclipse版本的debug模式当初没怎么用习惯,只会简单的单步调试,于是就荒废了,虽然调试起来有点麻烦,但是用顺手了也还马马虎虎,但

解决Android Studio下Element layer-list must be declared问题

近期将一个项目从Eclipse转到Android Studio. 项目中使用了环信demo中的一些xml资源,转换后发现color资源目录下诸如layer-list或者shape等标签报Element xxx must be declared错误,大意就是layer-list或者shape这些标签未定义. layer-list或者shape等这些标签是经常使用的标签,Android Studio竟然报未定义错误,在Eclipse中却没有这个问题.网上不少人说这是Android Studio的一个

Android Studio下构建Maven私服

Android Studio下构建Maven私服 对Maven的理解 Maven仓库的分类 本地Maven仓库和远程Maven仓库(中央仓库,第三方仓库,私服) jcenter和MavenCenter 略 搭建Maven私服 一.下载并安装Maven环境 需要注意的是:后面需要修改Settings setting文件3.0之前在C:\Users\xxx.m2下,其实AndroidStudio通过JCenter下载的jar即放在这个文件夹下.3.0之后在Maven目录的conf下 二.下载并安装N

android studio 下错误提示的解决办法

android studio下提示gradle project sync failed.Basic functionality will not work ----->>我是通过android studio下,点击 tools ->Android->sync project with gradles files.解决这个问题的. OK,搞定

在Android Studio下打jar包

这些天在研究Android 网络编程方面的东西,无奈在github上下载的Volley工程是Android Studio的目录结构,我向将其打成jar包,不管是在Studio下,还是在Eclipse下使用起来都会比较容易些.   研究了下Volley框架的目录结构 ,发现就是java代码目录和清单文件,对于这种库文件,还是很简单的.我们可以将其代码 拷到 我们的工程目录即可使用,相比之下我还是比较喜欢jar包.   其实在Android下有一种新型的 打包方式,那就是 aar ,在Android

Android Studio下HierarchyViewer的使用

什么是HierarchyViewer Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat.它是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器,下面来详细介绍如何在Android Studio开发环境下使用Hierarchy Viewer. 如何在Android Studio开发环境下使用HierarchyViewer 1.启动模拟器,通过模拟器

android studio下百度地图sdk的初体验

通过上一篇android studio 打开Terminal获取sha1的方法 获取到sha1后,下面开始进入百度地图sdk的资源获取: 一.获取密钥和SDK; 1.搜索百度地图sdk: 2.点击获取密钥: 3.创建应用: 4.进入概述下的"相关下载"和"开发指南": 下载开发包和示例,将开发包解压: 二.项目创建: 1.在Android studio下新建一个项目后(注意包名要和上面获取密钥时的包名一致),有android切换到project,将解压后的libs文