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
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:Androidstudio下的robotium自動化測試和持續集成-創新互聯
路徑分享:http://vcdvsql.cn/article24/jicce.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、靜態網站、微信小程序、軟件開發、手機網站建設、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯