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