2015-01-21 35 views
5

Tôi có một số kiểm tra thiết bị và thiết bị trong thư mục androidTest của mình.Chạy thử nghiệm thiết bị và thử nghiệm thiết bị Android trên Jenkins (Gradle)

Tôi đang cố gắng chạy các thử nghiệm này trên Jenkins địa phương của mình.

Tôi đã định cấu hình thành công dự án của mình với Jenkins và tôi cũng đã tạo trình giả lập cho các thử nghiệm thiết bị đo đạc.

Cho đến nay tất cả các tài nguyên tôi đã thấy chỉ tập trung vào kiến ​​và các phiên bản trước của Gradle. Cú pháp viết các tác vụ đã thay đổi một chút trong phiên bản hiện tại và tôi đã nhầm lẫn về điều này.

Đây là tập tin build.gradle tôi:

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' 
} 

Trả lời

-2

Lúc đầu, bạn phải cài đặt Plugin Gradle trên cài đặt Jenkins-CI của bạn. Bạn có thể tìm nó ở http://yourhost/jenkins/pluginManager/

Tiếp tục tích hợp, bạn có thể có một cái nhìn tại this presentation, đặc biệt trên các slide mới nhất

+0

như đã đề cập ở trên, tôi đã định cấu hình thành công dự án của mình trong Jenkins. Điều này dành riêng cho android (đơn vị và thiết bị đo đạc). – AndroidEnthusiast

+0

Như một gợi ý, tôi đã sử dụng Sonar trong quá khứ và tôi đã chỉ định các tham số Sonar (vị trí của các bài kiểm tra đơn vị, v.v ...) trên tệp build.gradle. Tôi nghĩ rằng bạn có thể làm điều gì đó tương tự với Jenkins – webo80

+0

Hành động SonarRunner là "gradlew assembleRelease". Có lẽ bạn phải thêm một công việc trên Jenkins, vì vậy Jenkins có thể tìm ra cách để biên dịch nó – webo80

-1

Tạo một công việc trong junkins và (cấu hình đường adb) thêm lệnh này để xây dựng các bước như thực hiện lệnh shell hoặc như một con dơi cửa sổ cmd

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

PS: - Đối với tốt hơn robotium sử dụng tự động hóa và thìa với junkins bạn có thể tự động hóa tất cả mọi thứ, bạn đẩy một cam kết về git và bạn sẽ nhận được kết quả xét nghiệm trong hộp thư mail của bạn nó thật tuyệt.

Sửa

Chạy thử nghiệm sử dụng muỗng

Thêm các lệnh này để xây dựng các bước

./gradlew assembleDebugAndroidTest 

./gradlew assembleDebug 

định đường dẫn debug-build.apk và đường dẫn thử unaligned.apk trong lệnh thìa đúng cách

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

Có vẻ gradle xây dựng hai apks thay vì một. Đối với tôi cách adb shell vừa ngừng hoạt động. – sandrstar

+0

Sử dụng thìa để chạy thử nghiệm và chỉ cần chạy lệnh thìa bằng cách thêm lệnh để xây dựng các bước, Kiểm tra Tôi đã chỉnh sửa câu trả lời của mình. Thực hiện nó. –

+0

Câu trả lời của bạn không nên là ý kiến ​​của bạn về Jenkins. – GDanger

0

Bạn có thể viết một kịch bản jenkis như thế này:

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' 
} 

này nên cài đặt gói ứng dụng và gói ứng dụng thử nghiệm vào thiết bị và bắt đầu các trường hợp thử nghiệm trong gói ứng dụng thử nghiệm trên cài đặt.

Ở đây tôi đã cho DevDebug vì tôi có một hằng số hương vị được gọi là Dev và kiểu xây dựng là Debug. Nếu bạn không có bất kỳ thứ gì trong số đó, bạn không sử dụng chúng.

Các vấn đề liên quan