溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android studio 下的robotium自動化測試和持續(xù)集成

發(fā)布時間:2020-07-15 12:28:15 來源:網(wǎng)絡(luò) 閱讀:674 作者:百度MTC 欄目:移動開發(fā)

一、前言

Android Studio是一個Android開發(fā)環(huán)境,基于IntelliJ IDEA.類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。作為官方主推的開發(fā)環(huán)境和停止對其他開發(fā)IDE的支持,Android Studio將成為今后唯一的android開發(fā)環(huán)境。本文主要介紹在Android Studio環(huán)境下的Robotium測試框架使用方法和持續(xù)集成。

二、在Android Studio中使用Robotium

2.1基礎(chǔ)環(huán)境配置

     先來看一下Android Studio中的工程結(jié)構(gòu),如下圖所示:

Android studio 下的robotium自動化測試和持續(xù)集成

Android Studio建立的工程會自帶一個測試包,如圖所示,androidTest即為測試包,測試用例就放在這個包內(nèi)。如果項目目錄內(nèi)無此測試包,也可直接在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'

}

2.2引入robotium包

將robotiumd的jar包復(fù)制到工程的libs目錄下,右鍵點擊jar包,在下拉菜單中點擊如下圖所示選項:

Android studio 下的robotium自動化測試和持續(xù)集成

2.3創(chuàng)建一個testcase并運行

在測試包內(nèi)新建一個javaclass,代碼內(nèi)容和eclipse ADT開發(fā)模式下的robotium測試case保持一致。點選testcase類,右鍵后選擇run,在設(shè)備列表中選擇設(shè)備后即可運行case。運行過程日志可以在界面下方run頁面中看到。

三、持續(xù)集成

     經(jīng)過上面的配置,已經(jīng)可以在Android Studio下使用Robotium框架進行自動化測試。下面介紹持續(xù)集成。

     3.1  了解gradle

Gradle是以 Groovy 語言為基礎(chǔ),面向Java應(yīng)用為主?;贒SL(領(lǐng)域特定語言)語法的自動化構(gòu)建工具。也是Android Studio官方推薦的構(gòu)建工具。

  1. 3.2  使用gradle進行自動構(gòu)建

  2. 3.2.1    gradle命令行環(huán)境配置

下載gradle,解壓到任意目錄。

配置環(huán)境變量,在PATH中加入路徑”$gradle安裝目錄/bin”,更新環(huán)境變量。

在命令行模式中運行g(shù)radle –v,如果出現(xiàn)版本信息,則說明配置成功。

  1. 3.2.2    常用命令

下面先介紹一下gradle的幾個常用命令

gradle clean:刪除build文件夾

gradle build:執(zhí)行項目編譯

gradle installDebug:安裝debug版本包到設(shè)備

gradle intstallDebugAndroidTest:安裝debug測試包到設(shè)備

gradle uninstallDebug:卸載debug版本包

gradle unintstallDebugAndroidTest:卸載debug測試包

gradle uninstallAll:卸載所有包

gradle test:執(zhí)行測試

  1. 3.2.3    Build.gradle

build.gradle文件是一個構(gòu)建腳本,類似于ant中的build.xml。當(dāng)運行g(shù)radle命令的時候會從當(dāng)前目錄查找build.gradle文件來執(zhí)行構(gòu)建。從第一節(jié)項目目錄結(jié)構(gòu)圖中可以看到,有兩個build.gradle,和app同級的是一個頂級的build配置文件,在這里可以為所有module配置一些常用的配置。如依賴庫、classpath。App目錄下的為android的build.gradle文件。下面我們來看一個最簡單android的build.gradle的例子。

Android studio 下的robotium自動化測試和持續(xù)集成

Apply plugin: ‘com.android.application’表示是一個app module,應(yīng)用了com.android.application插件。其次是基于哪個sdk版本編譯和構(gòu)建工具版本。defaultConfig是默認(rèn)配置,如果沒有其他的配置覆蓋,就會使用這里的??雌鋵傩缘拿志涂梢灾榔渥饔?,比如applicationId是配置包名的,versionCode是版本號,versionName是版本名稱等。

buildTypes是構(gòu)建類型,常用的有release和debug兩種,可以在這里面啟用混淆,啟用zipAlign以及配置簽名信息等。


dependencies定義了該module需要依賴的jar,aar,jcenter庫信息。

  1. 3.2.4    使用gradle命令運行自動化測試

按照以下腳本即可執(zhí)行自動化測試:

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參數(shù)后跟測試包名。

將上述命令配置到j(luò)enkins中即可實現(xiàn)持續(xù)集成

  1. 3.2.5    易出現(xiàn)問題

  2. 1)Gradle首次編譯時出現(xiàn)jar包無法下載的問題。

將build.gradle配置修改一下,把下載依賴包的地址改成maven庫,如下:

將repositories中的jcenter()改為mavenCentral()

repositories {

mavenCentral()

}

  • 警告導(dǎo)致編譯無法完成

在build.gradle內(nèi)android{}內(nèi)加入設(shè)置

LintOptions{

abortOnError false

}

更多干貨分享請關(guān)注”百度MTC學(xué)院“http://mtc.baidu.com/academy/article


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI