2015-01-21 186 views
5

我在我的androidTest文件夾中有一些單元和儀器測試。在Jenkins(Gradle)上運行Android單元測試和儀器測試

我想在我的本地Jenkins上運行這些測試。

我已經成功配置了Jenkins的項目,並且還爲儀器測試創建了一個模擬器。

到目前爲止,我所見過的所有資源都只關注螞蟻和早期版本的Gradle。編寫任務的語法在當前版本中稍有變化,我對此感到困惑。

這裏是我的build.gradle文件:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "myPackageName" 
     minSdkVersion 16 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 


dependencies { 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.google.android.gms:play-services:6.5.87' 
} 

回答

-2

首先,您必須對您的詹金斯-CI安裝安裝搖籃插件。您可以在http://yourhost/jenkins/pluginManager/

搜索它繼續整合它,你可以在this presentation看一看,特別是在最新的幻燈片

+0

如上所述,我已經在Jenkins成功配置了我的項目。這是特定於android(單元和儀器)。 – AndroidEnthusiast 2015-01-21 12:30:59

+0

作爲一個提示,我過去曾使用Sonar,並且在build.gradle文件中指定了Sonar參數(單元測試的位置等)。我認爲你可能會和Jenkins做類似的事情 – webo80 2015-01-21 12:32:48

+0

SonarRunner的行動是「gradlew assembleRelease」。也許你必須在詹金斯上添加一份工作,所以詹金斯可以弄清楚如何編譯它 – webo80 2015-01-21 12:33:54

-1

創建瓊金斯一份工作(配置ADB路徑)添加此命令建立步驟執行shell命令,或作爲一個窗口蝙蝠CMD

$ adb shell am instrument -w com.xyz.abc.test/android.test.InstrumentationTestRunner 

PS: - 爲了更好地爲自動化robotium和勺子瓊金斯您可以自動化的一切,你推提交的混帳,你會得到你的郵件收件箱中的測試結果是好酷。

編輯

用勺子

運行測試添加這些命令生成步驟

./gradlew assembleDebugAndroidTest 

./gradlew assembleDebug 

指定勺命令調試build.apk路徑和測試unaligned.apk路徑正確

java -jar C:\Users\Shivam\Downloads\spoon-runner-1.1.1-jar-with-dependencies.jar --apk C:\Users\Shivam\Downloads\SpoonAndRobotiumTest\app\build\outputs\ 
apk\app-debug.apk --testapk C:\Users\Shivam\Downloads\SpoonAndRobotiumTest\ 
app\build\outputs\apk\app-debug androidTest-unaligned.apk --sdk E:\sdk 
+0

似乎gradle建立兩個apks而不是一個。對於我來說,adb shell的方式剛剛停止工作。 – sandrstar 2015-09-01 09:12:51

+0

使用勺子來運行測試,並通過添加它來構建步驟來運行一個勺子命令,檢查我編輯了我的答案。完成了。 – 2015-09-02 07:19:19

+0

你的回答不應該是關於你對詹金斯的看法。 – GDanger 2015-12-28 22:38:15

0

您可以編寫一個腳本jenkis像這樣:

stage('Build & Install') { 
//Build the apk and the test apk which will run the tests on the apk 
       sh 'chmod +x gradlew && ./gradlew --no-daemon --stacktrace clean :app:assembleDevDebug :app:assembleDevDebugAndroidTest' 
      } 

stage('Tests') { 
//Start all the existing tests in the test package 
sh './gradlew --no-daemon --debug :app:connectedDevDebugAndroidTest' 
} 

這應該安裝APK和測試的apk到設備並在安裝測試APK開始測試案例。

在這裏,我已經給DevDebug,因爲我有一個名爲開發的味道常量和構建類型是調試。如果你沒有這些,你就不會使用它們。

相關問題