Pengujian UI Perilaku
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pengujian UI perilaku adalah pengujian yang menganalisis hierarki UI untuk membuat pernyataan
pada properti elemen UI.
Framework Jetpack
Jetpack menyertakan berbagai framework yang menyediakan API untuk menulis pengujian UI:
- Framework pengujian Espresso (Android 4.0.1, API level 14 atau
yang lebih tinggi) menyediakan API untuk menulis pengujian UI guna
menyimulasikan interaksi pengguna dengan View dalam satu aplikasi target. Manfaat
utama
menggunakan Espresso adalah framework pengujian ini menyediakan sinkronisasi tindakan
pengujian
secara otomatis dengan UI aplikasi yang sedang Anda uji. Espresso mendeteksi kapan thread utama tidak digunakan, sehingga dapat menjalankan perintah pengujian Anda pada waktu yang tepat, yang akan meningkatkan keandalan pengujian.
- Jetpack Compose (Android 5.0, API level 21 atau yang lebih tinggi) menyediakan sekumpulan
API pengujian untuk meluncurkan dan
berinteraksi dengan layar dan komponen Compose. Interaksi dengan elemen
Compose disinkronkan dengan pengujian dan memiliki kontrol penuh atas waktu,
animasi, dan rekomposisi.
- UI Automator (Android 4.3, API level 18 atau yang lebih tinggi) adalah framework pengujian UI
yang cocok untuk pengujian UI fungsional lintas aplikasi di seluruh sistem
dan
aplikasi terinstal. UI Automator API memungkinkan Anda untuk menjalankan operasi seperti
membuka menu Setelan atau peluncur aplikasi di perangkat pengujian.
- Robolectric (Android 4.1, API level 16 atau yang lebih tinggi) memungkinkan
Anda membuat pengujian lokal yang berjalan di
workstation atau lingkungan continuous integration di JVM reguler,
bukan
di emulator atau perangkat. Class ini dapat menggunakan API pengujian Espresso atau Compose untuk
berinteraksi dengan komponen UI.
Referensi lainnya
Untuk informasi selengkapnya tentang cara membuat pengujian UI, lihat referensi berikut.
Dokumentasi
Codelab
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Behavior UI Tests\n\nBehavior UI tests are tests that analyze the UI hierarchy to make assertions\non the properties of the UI elements.\n\nJetpack frameworks\n------------------\n\nJetpack includes various frameworks that provide APIs for writing UI tests:\n\n- The **[Espresso testing framework](/training/testing/espresso)** (Android 4.0.1, API level 14 or higher) provides APIs for writing UI tests to simulate user interactions with *Views* within a single target app. A key benefit of using Espresso is that it provides automatic synchronization of test actions with the UI of the app you are testing. Espresso detects when the main thread is idle, so it is able to run your test commands at the appropriate time, improving the reliability of your tests.\n- **[Jetpack Compose](/jetpack/compose)** (Android 5.0, API level 21 or higher) provides a set of [*testing APIs*](/jetpack/compose/testing) to launch and interact with Compose screens and components. Interactions with Compose elements are synchronized with tests and have complete control over time, animations and recompositions.\n- **[UI Automator](/training/testing/ui-automator)** (Android 4.3, API level 18 or higher) is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher on a test device.\n- **[Robolectric](/training/testing/local-tests/robolectric)** (Android 4.1, API level 16 or higher) lets you create *local* tests that run on your workstation or continuous integration environment in a regular JVM, instead of on an emulator or device. It can use Espresso or Compose testing APIs to interact with UI components.\n\nAdditional resources\n--------------------\n\nFor more information about creating UI tests, consult the following resources.\n\n### Documentation\n\n- [Build instrumented tests](/training/testing/instrumented-tests)\n- [Espresso](/training/testing/espresso)\n- [Compose Testing](/jetpack/compose/testing)\n\n### Codelabs\n\n- [Introduction to Test Doubles and Dependency Injection](/codelabs/advanced-android-kotlin-training-testing-test-doubles)"]]