

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Instrumentasi untuk Android dan AWS Device Farm
<a name="test-types-android-instrumentation"></a>

Device Farm menyediakan dukungan untuk Instrumentasi (JUnit, Espresso, Robotium, atau pengujian berbasis Instrumentasi) untuk Android.

Device Farm juga menyediakan contoh aplikasi Android dan tautan ke pengujian yang berfungsi di tiga kerangka kerja otomatisasi Android, termasuk Instrumentation (Espresso). [Aplikasi contoh Device Farm untuk Android](https://github.com/awslabs/aws-device-farm-sample-app-for-android) tersedia untuk diunduh GitHub.

Untuk informasi selengkapnya tentang pengujian di Device Farm, lihat[Uji kerangka kerja dan pengujian bawaan di AWS Device Farm](test-types.md).

**Topics**
+ [Apa itu instrumentasi?](#test-types-android-instrumentation-what-is)
+ [Pertimbangan untuk pengujian instrumentasi Android](#test-types-android-instrumentation-settings)
+ [Penguraian uji mode standar](#test-types-android-standard-mode-test-parse)
+ [Mengintegrasikan Instrumentasi Android dengan Device Farm](test-types-android-instrumentation-integrate.md)

## Apa itu instrumentasi?
<a name="test-types-android-instrumentation-what-is"></a>

Instrumentasi Android memungkinkan Anda untuk memanggil metode callback dalam kode pengujian sehingga Anda dapat menjalankan siklus hidup komponen selangkah demi selangkah, seolah-olah Anda sedang men-debug komponen. Untuk informasi selengkapnya, lihat [Pengujian instrumen](https://developer.android.com/studio/test/test-in-android-studio#test_types_and_locations) di bagian *Jenis dan lokasi pengujian* pada dokumentasi *Alat Developer Android*.

## Pertimbangan untuk pengujian instrumentasi Android
<a name="test-types-android-instrumentation-settings"></a>

Saat menggunakan instrumentasi Android, pertimbangkan rekomendasi dan catatan berikut.

**Periksa Kompatibilitas OS Android**  
 Periksa [dokumentasi Android](https://developer.android.com/jetpack/androidx/releases/test#orchestrator-1.5.0), untuk memastikan Instrumentasi kompatibel dengan versi OS Android Anda. 

**Berjalan dari Command Line**  
 Untuk menjalankan pengujian Instrumentasi dari baris perintah, ikuti [dokumentasi Android](https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner#enable-command). 

**Animasi Sistem**  
 Sesuai [dokumentasi Android untuk pengujian Espresso](https://developer.android.com/training/testing/espresso), disarankan agar animasi sistem dimatikan saat menguji pada perangkat nyata. Device Farm secara otomatis menonaktifkan pengaturan **Skala Animasi Jendela, Skala** **Animasi Transisi, dan Skala** **Durasi Animator saat dijalankan dengan runner** pengujian instrumentasi Runner [JUnitandroid.support.test.Runner.Android](http://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html).

**Perekam Uji**  
Device Farm mendukung framework, seperti Robotium, yang memiliki alat record-and-playback scripting.

## Penguraian uji mode standar
<a name="test-types-android-standard-mode-test-parse"></a>

Dalam mode standar run, Device Farm mem-parsing rangkaian pengujian Anda dan mengidentifikasi kelas pengujian unik dan metode yang akan dijalankan. Ini dilakukan melalui alat yang disebut [Dex Test Parser](https://github.com/linkedin/dex-test-parser). 

Saat diberi file .apk instrumentasi Android sebagai input, parser mengembalikan nama metode pengujian yang memenuhi syarat sepenuhnya yang cocok dengan konvensi JUnit 3 dan JUnit 4. 

Untuk menguji ini di lingkungan lokal: 

1. Unduh [https://github.com/linkedin/dex-test-parser](https://github.com/linkedin/dex-test-parser)biner.

1. Jalankan perintah berikut untuk mendapatkan daftar metode pengujian yang akan berjalan di Device Farm:

   ```
   java -jar parser.jar path/to/apk path/for/output
   ```

# Mengintegrasikan Instrumentasi Android dengan Device Farm
<a name="test-types-android-instrumentation-integrate"></a>

**catatan**  
Gunakan petunjuk berikut untuk mengintegrasikan pengujian instrumentasi Android dengan AWS Device Farm. Untuk informasi selengkapnya tentang menggunakan pengujian instrumentasi di Device Farm, lihat[Instrumentasi untuk Android dan AWS Device Farm](test-types-android-instrumentation.md). 

## Unggah pengujian instrumentasi Android Anda
<a name="test-types-android-instrumentation-upload"></a>

Gunakan konsol Device Farm untuk mengunggah pengujian Anda.

1. Masuk ke konsol Device Farm di [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm).

1. Pada panel navigasi Device Farm, pilih **Pengujian Perangkat Seluler**, lalu pilih **Proyek**.

1. 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 di[Membuat proyek di AWS Device Farm](how-to-create-project.md).

1. Pilih **Buat jalankan**.

1. Di bawah **Pilih aplikasi**, di bagian **Opsi pemilihan aplikasi**, pilih **Unggah aplikasi sendiri**.

1. Jelajahi dan pilih file aplikasi Android Anda. File harus berupa file.apk.

1. Di bawah **Configure test**, di bagian **Select test framework**, pilih **Instrumentation**, lalu **pilih Choose File**.

1. Jelajahi dan pilih file.apk yang berisi pengujian Anda.

1. Lengkapi instruksi yang tersisa untuk memilih perangkat dan mulai menjalankan.

## (Opsional) Ambil tangkapan layar dalam pengujian instrumentasi Android
<a name="test-types-android-instrumentation-screenshots"></a>

Anda dapat mengambil tangkapan layar sebagai bagian dari pengujian Instrumentasi Android Anda.

Untuk mengambil tangkapan layar, hubungi salah satu metode berikut:
+ Untuk Robotium, panggil `takeScreenShot` metode (misalnya,`solo.takeScreenShot();`).
+ Untuk Spoon, panggil `screenshot` metode, 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, lalu 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`