您好,登錄后才能下訂單哦!
Android Studio是一個Android開發環境,基于IntelliJ IDEA.類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用于開發和調試。作為官方主推的開發環境和停止對其他開發IDE的支持,Android Studio將成為今后唯一的android開發環境。本文主要介紹在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官方推薦的構建工具。
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()
}
警告導致編譯無法完成
在build.gradle內android{}內加入設置
LintOptions{
abortOnError false
}
更多干貨分享請關注”百度MTC學院“http://mtc.baidu.com/academy/article
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。