运行android unit tests& Jenkins(Gradle)的仪器测试

时间:2015-01-21 11:59:48

标签: android unit-testing jenkins gradle android-gradle

我的androidTest文件夹中有一些单元和工具测试。

我试图在我当地的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'
}

3 个答案:

答案 0 :(得分: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,因为我有一个名为Dev的flavor常量,而build类型是Debug。如果您没有这些,请不要使用它们。

答案 1 :(得分:-1)

在junkins中创建一个作业并(配置adb路径)添加此命令以构建执行shell命令或windows bat cmd的步骤

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

P.S: - 为了更好地自动化使用机器人和勺子与垃圾,你可以自动化一切,你推动git提交,你将在你的邮件收件箱中得到测试结果,这很酷。

修改

使用勺子运行测试

添加这些命令以构建步骤

./gradlew assembleDebugAndroidTest

./gradlew assembleDebug

正确指定spoon命令中的debug-build.apk路径和test-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

答案 2 :(得分:-2)

首先,您必须在Jenkins-CI安装上安装Gradle插件。您可以在http://yourhost/jenkins/pluginManager/

进行搜索

要继续整合,您可以查看this presentation,特别是最新的幻灯片