2015-01-21 191 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,因为我有一个名为开发的味道常量和构建类型是调试。如果你没有这些,你就不会使用它们。

相关问题