Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengintegrasikan Instrumentasi Android dengan Device Farm
catatan
Gunakan petunjuk berikut untuk mengintegrasikan pengujian instrumentasi Android dengan AWS Device Farm. Untuk informasi selengkapnya tentang menggunakan pengujian instrumentasi di Device Farm, lihatInstrumentasi untuk Android dan AWS Device Farm.
Jalankan pengujian Instrumentasi Android (konsol)
Gunakan konsol Device Farm untuk mengunggah pengujian Anda.
-
Masuk ke konsol Device Farm di https://console.aws.amazon.com/devicefarm
. -
Di panel navigasi, pilih Pengujian Perangkat Sel uler, lalu pilih Proyek.
-
Dalam daftar proyek, pilih proyek yang ingin Anda unggah pengujian.
Tip
Anda dapat menggunakan bilah pencarian untuk memfilter daftar proyek berdasarkan nama.
Untuk membuat proyek, ikuti instruksi diMembuat proyek di AWS Device Farm.
-
Pilih Buat lari.
-
Di bawah Pilih aplikasi dan jenis jalankan, di bagian Jalankan jenis, pilih aplikasi Android.
-
Di bawah Pilih aplikasi, di bagian Opsi pemilihan aplikasi, pilih Pilih contoh aplikasi yang disediakan oleh Dev ice Farm jika Anda tidak memiliki aplikasi. Jika Anda membawa aplikasi sendiri, pilih Unggah aplikasi sendiri, lalu pilih APK Anda (format file.apk).
-
Di bawah Konfigurasi pengujian, di bagian Pilih kerangka pengujian, pilih Instrumentasi, lalu pilih Pilih File. Jelajahi dan pilih file APK (format file.apk) yang berisi pengujian Anda.
-
Di bawah Pilih lingkungan eksekusi Anda, pilih Jalankan pengujian Anda di lingkungan khusus atau J alankan pengujian Anda di lingkungan standar kami. Untuk informasi selengkapnya, lihat Menguji lingkungan di AWS Device Farm.
-
Jika Anda memilih lingkungan khusus, Anda dapat menggunakan spesifikasi pengujian default yang diisi untuk pengujian instrumentasi, atau pilih Unggah spesifikasi pengujian sendiri untuk menyediakan spesifikasi pengujian Anda sendiri.
-
Di bawah Pilih perangkat, pilih metode pemilihan perangkat. Pilih Gunakan Kumpulan Perangkat untuk memilih dari koleksi perangkat yang dikuratori atau kumpulan perangkat khusus yang Anda buat. Pilih Pilih perangkat secara manual untuk memilih perangkat individual untuk menjalankan pengujian Anda. Bagian Kompatibilitas perangkat menunjukkan berapa banyak perangkat di kumpulan yang dipilih yang kompatibel dengan aplikasi Anda. Untuk informasi selengkapnya, lihat Dukungan perangkat di AWS Device Farm.
-
Untuk mengkonfigurasi properti run-level, perbarui bagian J alankan pengaturan. Di sini Anda dapat melakukan hal berikut:
-
(Opsional) Agar Device Farm membuat laporan pengujian setelah proses selesai, pilih Buat laporan pengujian. Opsi ini hanya tersedia di lingkungan pengujian khusus. Device Farm menghasilkan laporan dari hasil instrumentasi yang disertakan dalam output spesifikasi pengujian Anda. Jika Anda mengunggah spesifikasi pengujian Anda sendiri, pastikan itu mengeluarkan hasil instrumentasi ke output spesifikasi pengujian Anda.
-
-
Selesaikan langkah-langkah yang tersisa, dan kemudian mulai menjalankan.
Melihat laporan pengujian (konsol)
Masuk ke konsol Device Farm di https://console.aws.amazon.com/devicefarm
. -
Di panel navigasi, pilih Pengujian Perangkat Sel uler, lalu pilih Proyek.
-
Pilih proyek yang berisi proses yang ingin Anda periksa.
-
Pilih proses yang telah selesai untuk membuka detailnya.
-
Pilih salah satu pekerjaan yang telah selesai untuk membuka hasil untuk perangkat tersebut.
Dengan wawasan pengujian diaktifkan
Hasil pekerjaan termasuk tab Laporan uji. Pilih untuk melihat rincian per tes. Screenshot berikut menunjukkan tab Laporan uji dengan semua kolom terlihat.
Tab menunjukkan bidang berikut untuk setiap tes:
testNameNama metode pengujian.
testClassNama kelas tes.
resultHasil Device Farm untuk pengujian.
frameworkResultHasil yang dilaporkan oleh kerangka instrumentasi. Device Farm memetakan nilai ini ke
resultbidang yang dinormalisasi.durationSecondsDurasi tes, dalam hitungan detik.
startTimestampWaktu ketika tes dimulai.
endTimestampWaktu ketika tes berakhir.
currentPosisi tes dalam lari.
numTestsJumlah total tes dalam proses.
statusCodeKode status instrumentasi yang dilaporkan pengujian.
streamVersi output instrumentasi yang dapat dibaca manusia untuk pengujian.
stackTraceUntuk pengujian yang gagal, tumpukan jejak kegagalan.
Untuk mengunduh laporan pengujian lengkap sebagai file JSON, pilih Unduh ringkasan lengkap di bagian atas detail pekerjaan.
Untuk memilih kolom mana yang muncul, pilih ikon roda gigi. Dalam pengaturan, Anda dapat memilih kolom untuk ditampilkan dan mengaktifkan atau menonaktifkan Grup berdasarkan kelas. Kelompokkan berdasarkan kelas aktif secara default, yang mengelompokkan tes berdasarkan kelas pengujian mereka. Matikan untuk melihat daftar datar semua tes, seperti yang ditunjukkan pada tangkapan layar berikut.
Tanpa wawasan pengujian diaktifkan
Hasil pekerjaan menunjukkan output pengujian standar dan artefak, tetapi tidak ada tab Laporan pengujian. Untuk membuat laporan pengujian, jadwalkan proses baru dengan wawasan pengujian diaktifkan.
Lihat laporan pengujian (AWS CLI)
Jalan get-job kan dan tentukan pekerjaan ARN:
aws devicefarm get-job --arnarn:aws:devicefarm:us-west-2:123456789012:job:PROJECT_ID/RUN_ID/00000
Tanpa wawasan pengujian diaktifkan
Jika Anda tidak mengaktifkan wawasan pengujian, respons berisi bidang pekerjaan standar, seperti status pekerjaan, hasil, penghitung, dan perangkat:
{ "job": { "arn": "arn:aws:devicefarm:us-west-2:123456789012:job:EXAMPLE-PROJECT/EXAMPLE-RUN/00000", "name": "Example Android Phone", "created": "2026-08-05T14:26:56.959000-07:00", "status": "COMPLETED", "result": "PASSED", "counters": { "total": 3, "passed": 3, "failed": 0, "warned": 0, "errored": 0, "stopped": 0, "skipped": 0 }, "message": "Successful test lifecycle of Setup Test", "device": { "arn": "arn:aws:devicefarm:us-west-2::device:EXAMPLEDEVICEID", "name": "Example Android Phone", "platform": "ANDROID", "os": "16", "formFactor": "PHONE", "fleetType": "PUBLIC" }, "deviceMinutes": { "total": 1.38, "metered": 0.0, "unmetered": 1.13 }, "videoCapture": true } }
Dengan wawasan pengujian diaktifkan
Jika Anda mengaktifkan wawasan pengujian, respons juga menyertakan insights objek. Objek ini berisi status laporan pengujian, metrik tingkat tinggi, dan URL yang telah ditandatangani sebelumnya ke laporan terperinci:
{ "job": { "arn": "arn:aws:devicefarm:us-west-2:123456789012:job:EXAMPLE-PROJECT/EXAMPLE-RUN/00000", "status": "COMPLETED", "result": "PASSED", "counters": { ... }, "device": { ... }, "deviceMinutes": { ... }, "videoCapture": true, "insights": { "status": "COMPLETED", "testReport": { "message": "Results: 2 Executed | 2 passed, Median test duration: 28.926 seconds.", "metrics": { "testsTotal": 2, "testsPassed": 2, "testsFailed": 0, "testsSkipped": 0, "testsErrored": 0, "testsOther": 0, "testsPassedPercentage": 100.0 }, "testDetailsUrl": "https://EXAMPLE-PRESIGNED-URL" } } } }
testDetailsUrlBidang ini adalah URL yang telah ditandatangani sebelumnya ke laporan pengujian lengkap JSON. Unduh untuk mendapatkan rincian per tes:
curl -o test-report.json "PRESIGNED_URL"
Berikut ini adalah contoh laporan pengujian untuk pekerjaan instrumentasi:
{ "version": "1.0", "jobArn": "arn:aws:devicefarm:us-west-2:123456789012:job:EXAMPLE-PROJECT/EXAMPLE-RUN/00000", "metrics": { "testsTotal": 3, "testsPassed": 2, "testsFailed": 1, "testsSkipped": 0, "testsErrored": 0, "testsOther": 0, "testsPassedPercentage": 66.67, "totalTestExecutionDurationSeconds": 26.004, "medianTestExecutionDurationSeconds": 1.598 }, "testDetails": [ { "testName": "testConnect", "testClass": "com.example.myapp.GpsConnectInstrumentedTest", "frameworkResult": "PASSED", "result": "PASSED", "durationSeconds": 24.399, "startTimestamp": "2026-08-05T20:38:30.131514Z", "endTimestamp": "2026-08-05T20:38:54.530369Z", "statusCode": 0, "current": 1, "numTests": 3 }, { "testName": "testHistoryOff", "testClass": "com.example.myapp.NotificationHistoryInstrumentedTest", "frameworkResult": "PASSED", "result": "PASSED", "durationSeconds": 1.598, "startTimestamp": "2026-08-05T20:38:54.531765Z", "endTimestamp": "2026-08-05T20:38:56.130032Z", "statusCode": 0, "current": 2, "numTests": 3 }, { "testName": "testConnect", "testClass": "com.example.myapp.WifiConnectInstrumentedTest", "frameworkResult": "FAILED", "result": "FAILED", "durationSeconds": 0.002, "startTimestamp": "2026-08-05T20:38:56.131857Z", "endTimestamp": "2026-08-05T20:38:56.133770Z", "stackTrace": "java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.test.uiautomator.UiDevice.pressHome()' on a null object reference\n\tat com.example.myapp.WifiConnectInstrumentedTest.testConnect(WifiConnectInstrumentedTest.java:93)\n\t...", "stream": "\nError in testConnect(com.example.myapp.WifiConnectInstrumentedTest):\njava.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.test.uiautomator.UiDevice.pressHome()' on a null object reference\n\t...", "statusCode": -2, "current": 3, "numTests": 3 } ], "errorMessage": "There was 1 failure:\n1) testConnect(com.example.myapp.WifiConnectInstrumentedTest)\njava.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.test.uiautomator.UiDevice.pressHome()' on a null object reference\n\t...\nFAILURES!!!\nTests run: 3, Failures: 1", "instrumentationCode": -1 }
Laporan berisi bidang tingkat atas berikut:
versionVersi skema laporan.
jobArnARN pekerjaan itu.
metrics-
Hasil agregat untuk pekerjaan tersebut. Objek
metricsberisi kolom-kolom berikut:testsTotalJumlah total tes dalam pekerjaan.
testsPassedJumlah tes yang lulus.
testsFailedJumlah tes yang gagal.
testsSkippedJumlah tes yang dilewati.
testsErroredJumlah tes yang salah.
testsOtherJumlah tes dengan hasil lain.
testsPassedPercentagePersentase tes yang lulus.
totalTestExecutionDurationSecondsTotal durasi semua tes, dalam hitungan detik.
medianTestExecutionDurationSecondsDurasi rata-rata tes, dalam detik.
errorMessageJika proses mengalami kegagalan, pesan kesalahan yang merangkumnya.
instrumentationCodeKode keluar instrumentasi keseluruhan untuk pekerjaan tersebut.
testDetails-
Daftar hasil per tes. Setiap entri
testDetailsberisi bidang berikut:testNameNama metode pengujian.
testClassNama kelas tes.
resultHasil Device Farm untuk pengujian.
frameworkResultHasil yang dilaporkan oleh kerangka instrumentasi. Device Farm memetakan nilai ini ke
resultbidang yang dinormalisasi.durationSecondsDurasi tes, dalam hitungan detik.
startTimestampWaktu ketika tes dimulai.
endTimestampWaktu ketika tes berakhir.
currentPosisi tes dalam lari.
numTestsJumlah total tes dalam proses.
statusCodeKode status instrumentasi yang dilaporkan pengujian.
streamVersi output instrumentasi yang dapat dibaca manusia untuk pengujian.
stackTraceUntuk pengujian yang gagal, tumpukan jejak kegagalan.
(Opsional) Ambil tangkapan layar dalam tes instrumentasi Android
Anda dapat mengambil tangkapan layar sebagai bagian dari tes Instrumentasi Android Anda.
Untuk mengambil tangkapan layar, panggil salah satu metode berikut:
-
Untuk Robotium, panggil
takeScreenShotmetode (misalnya,solo.takeScreenShot();). -
Untuk Spoon, panggil
screenshotmetode, misalnya:Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");
Selama uji coba, Device Farm mendapatkan tangkapan layar dari lokasi berikut di perangkat, jika ada, dan kemudian menambahkannya ke laporan pengujian:
-
/sdcard/robotium-screenshots -
/sdcard/test-screenshots -
/sdcard/Download/spoon-screenshots/test-class-name/test-method-name -
/data/data/application-package-name/app_spoon-screenshots/test-class-name/test-method-name