在Jenkins上运行android单元测试和仪器测试(Gradle)

问题描述 投票:7回答:3

我在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'
}
android unit-testing jenkins gradle android-gradle
3个回答
0
投票

你可以像这样写一个jenkins脚本:

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的味道常量,而构建类型是Debug。如果您没有这些,则不要使用它们。


-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
投票

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

要继续集成它,您可以查看qazxsw poi,尤其是最新的幻灯片

© www.soinside.com 2019 - 2024. All rights reserved.