android studio云测,Android studio 下的robotium自动化测试和持续集成
【背景介紹】
Android Studio 是一個(gè)Android開發(fā)環(huán)境,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。作為官方主推的開發(fā)環(huán)境和停止對(duì)其他開發(fā)IDE的支持,Android Studio將成為今后唯一的android開發(fā)環(huán)境。本文主要介紹在Android Studio環(huán)境下的Robotium測(cè)試框架使用方法和持續(xù)集成。
一、在Android Studio中使用Robotium
1.1 基礎(chǔ)環(huán)境配置
先來(lái)看一下Android Studio中的工程結(jié)構(gòu),如下圖所示:
Android Studio建立的工程會(huì)自帶一個(gè)測(cè)試包,如圖所示,androidTest即為測(cè)試包,測(cè)試用例就放在這個(gè)包內(nèi)。如果項(xiàng)目目錄內(nèi)無(wú)此測(cè)試包,也可直接在src目錄下創(chuàng)建test/java目錄。創(chuàng)建完成后,檢查build.gradle文件查看是否加入了junit4依賴,如果沒有就做加入如下配置:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
testCompile 'junit:junit:4.12'
}1.2 引入robotium包將robotiumd 的jar包復(fù)制到工程的libs目錄下,右鍵點(diǎn)擊jar包,在下拉菜單中點(diǎn)擊如下圖所示選項(xiàng):
1.3 創(chuàng)建一個(gè)testcase并運(yùn)行在測(cè)試包內(nèi)新建一個(gè)javaclass,代碼內(nèi)容和eclipseADT開發(fā)模式下的robotium測(cè)試case保持一致。點(diǎn)選testcase類,右鍵后選擇run,在設(shè)備列表中選擇設(shè)備后即可運(yùn)行case。運(yùn)行過(guò)程日志可以在界面下方run頁(yè)面中看到。
二、持續(xù)集成
經(jīng)過(guò)上面的配置,已經(jīng)可以在Android Studio 下使用Robotium框架進(jìn)行自動(dòng)化測(cè)試。下面介紹持續(xù)集成:
2.1? 了解gradle
Gradle 是以 Groovy 語(yǔ)言為基礎(chǔ),面向Java應(yīng)用為主。基于DSL(領(lǐng)域特定語(yǔ)言)語(yǔ)法的自動(dòng)化構(gòu)建工具。也是Android Studio官方方推薦的構(gòu)建工具。
2.2? 使用gradle進(jìn)行自動(dòng)構(gòu)建
2.2.1? gradle命令行環(huán)境配置
下載gradle,解壓到任意目錄。
配置環(huán)境變量,在PATH中加入路徑”$gradle安裝目錄/bin”,更新環(huán)境變量。
在命令行模式中運(yùn)行g(shù)radle –v,如果出現(xiàn)版本信息,則說(shuō)明配置成功。
2.2.2? 常用命令
下面先介紹一下gradle的幾個(gè)常用命令
gradle clean:刪除build文件夾
gradle build:執(zhí)行項(xiàng)目編譯
gradle installDebug:安裝debug版本包到設(shè)備
gradle intstallDebugAndroidTest:安裝debug測(cè)試包到設(shè)備
gradle uninstallDebug:卸載debug版本
gradle unintstallDebugAndroidTest:卸載debug測(cè)試包
gradle uninstallAll:卸載所有包
gradle test:執(zhí)行測(cè)試
2.2.3?? Build.gradle
build.gradle文件是一個(gè)構(gòu)建腳本,類似于ant中的build.xml。當(dāng)運(yùn)行g(shù)radle命令的時(shí)候會(huì)從當(dāng)前目錄查找build.gradle文件來(lái)執(zhí)行構(gòu)建。從第一節(jié)項(xiàng)目目錄結(jié)構(gòu)圖中可以看到,有兩個(gè)build.gradle,和app同級(jí)的是一個(gè)頂級(jí)的build配置文件,在這里可以為所有module配置一些常用的配置。如依賴庫(kù)、classpath。App目錄下的為android的build.gradle文件。下面我們來(lái)看一個(gè)最簡(jiǎn)單android的build.gradle的例子。
Apply plugin: ‘com.android.application’表示是一個(gè)appmodule,應(yīng)用了com.android.application插件。其次是基于哪個(gè)sdk版本編譯和構(gòu)建工具版本。defaultConfig是默認(rèn)配置,如果沒有其他的配置覆蓋,使用這里的。看其屬性的名字就可以知道其作用,比如applicationId是配置包名的,versionCode是版本號(hào),versioanName是版本名稱等。
buildTypes是構(gòu)建類型,常用的有release和debug兩種,可以在這里面啟用混淆,啟用zipAlign以及配置簽名信息等。dependencies定義了該module需要依賴的jar,aar,jcenter庫(kù)信息。
2.2.4? 使用gradle命令運(yùn)行自動(dòng)化測(cè)試按照以下腳本即可執(zhí)行自動(dòng)化測(cè)試:
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 后跟要運(yùn)行的testsuit或者test類。-w參數(shù)后跟測(cè)試包名。
將上述命令配置到j(luò)enkins中即可實(shí)現(xiàn)持續(xù)集成
2.2.5???? 易出現(xiàn)問(wèn)題
1) Gradle首次編譯時(shí)出現(xiàn)jar包無(wú)法下載的問(wèn)題。
將build.gradle配置修改一下,把下載依賴包的地址改成maven庫(kù),如下:
將repositories中的jcenter()改為mavenCentral()
repositories {
mavenCentral()
}
2) Lint警告導(dǎo)致編譯無(wú)法完成
在build.gradle內(nèi)android{}內(nèi)加入設(shè)置
LintOptions{
abortOnError false
}
總結(jié)
以上是生活随笔為你收集整理的android studio云测,Android studio 下的robotium自动化测试和持续集成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我的世界html导入整合包教程,《我的世
- 下一篇: android动态设置文本居中显示图片,