Google berkomitmen untuk mendorong terwujudnya keadilan rasial bagi komunitas Kulit Hitam. Lihat caranya.

Membuat pengujian UI dengan Espresso Test Recorder

Espresso Test Recorder memungkinkan Anda membuat pengujian UI untuk aplikasi tanpa perlu menulis kode pengujian apa pun. Dengan merekam skenario pengujian, Anda dapat merekam interaksi dengan sebuah perangkat dan menambahkan pernyataan untuk memverifikasi elemen UI dalam snapshot aplikasi tertentu. Espresso Test Recorder kemudian mengambil rekaman yang sudah disimpan dan otomatis menghasilkan pengujian UI yang sesuai dan dapat Anda jalankan untuk menguji aplikasi.

Espresso Test Recorder menulis pengujian berdasarkan framework Espresso Testing, sebuah API dalam AndroidX Test. Espresso API mendorong Anda untuk membuat pengujian UI yang ringkas dan dapat diandalkan berdasarkan tindakan pengguna. Dengan menyatakan ekspektasi, interaksi, dan pernyataan tanpa secara langsung mengakses aktivitas dan tampilan aplikasi yang mendasarinya, struktur ini mencegah kegagalan pengujian dan mengoptimalkan kecepatan pengujian.

Menonaktifkan animasi di perangkat pengujian Anda

Sebelum menggunakan Espresso Test Recorder, pastikan untuk mematikan animasi pada perangkat pengujian guna mencegah hasil yang tidak diharapkan. Ikuti petunjuk "Menyiapkan Espresso" pada halaman Menguji UI untuk Satu Aplikasi, tetapi harap diingat bahwa Anda tidak perlu menetapkan referensi dependensi secara manual ke library Espresso karena Test Recorder otomatis menangani hal ini saat Anda menyimpan rekaman. Langkah-langkah ini hanya perlu dilakukan sekali untuk project tertentu.

Merekam pengujian Espresso

Pengujian Espresso terdiri dari dua komponen utama: interaksi UI dan pernyataan pada elemen View. Interaksi UI mencakup tindakan ketuk dan ketik yang dapat digunakan pengguna untuk berinteraksi dengan aplikasi Anda. Pernyataan akan memverifikasi keberadaan atau konten elemen visual pada layar. Misalnya, pengujian Espresso untuk aplikasi pengujian Notes mungkin mencakup interaksi UI untuk mengklik tombol dan menulis catatan baru, tetapi akan menggunakan pernyataan untuk memverifikasi keberadaan tombol dan konten catatan.

Bagian ini akan membahas cara membuat kedua komponen pengujian ini menggunakan Espresso Test Recorder, serta cara menyimpan rekaman yang sudah selesai untuk menghasilkan pengujian.

Merekam interaksi UI

Untuk mulai merekam pengujian dengan Espresso Test Recorder, lakukan langkah-langkah berikut:

  1. Klik Run > Record Espresso Test.
  2. Pada jendela Select Deployment Target, pilih perangkat yang ingin Anda rekam pengujiannya. Bila perlu, buat Android Virtual Device baru. Klik OK.
  3. Espresso Test Recorder memicu build project Anda, dan aplikasi tersebut harus diinstal dan diluncurkan sebelum Espresso Test Recorder mengizinkan Anda berinteraksi dengannya. Jendela Record Your Test muncul setelah peluncuran aplikasi, dan karena Anda belum berinteraksi dengan perangkat, panel utama akan menampilkan "No events recorded yet". Berinteraksilah dengan perangkat untuk memulai pencatatan log event seperti tindakan "ketuk" "dan" "ketik".

Catatan: Sebelum dapat mulai mencatat interaksi, Anda mungkin melihat dialog di perangkat yang menampilkan "Waiting for Debugger" atau "Attaching Debugger". Espresso Test Recorder menggunakan debugger untuk mencatat log event UI. Setelah debugger tersambung, dialog akan otomatis menutup; jangan menekan Force Close.

Interaksi yang terekam akan muncul di panel utama pada jendela Record Your Test, seperti yang ditunjukkan pada gambar 1 di bawah. Saat Anda menjalankan pengujian, pengujian Espresso akan mencoba mengeksekusi tindakan ini dengan urutan yang sama.

Gambar 1. Jendela Record Your Test dengan interaksi UI yang dicatat.

Menambahkan pernyataan untuk memverifikasi elemen UI

Pernyataan memverifikasi keberadaan atau konten elemen View melalui tiga jenis utama:

  • text is: Memeriksa konten teks dari elemen View yang dipilih
  • exists: Memastikan elemen View ada dalam hierarki View saat ini yang terlihat di layar
  • does not exist: Memastikan elemen View tidak ada dalam hierarki View saat ini

Untuk menambahkan pernyataan ke pengujian Anda, lakukan langkah-langkah berikut:

  1. Klik Add Assertion. Dialog Screen Capture muncul saat Espresso mendapatkan hierarki UI dan informasi lain tentang status aplikasi saat ini. Dialog akan otomatis menutup begitu Espresso merekam screenshot-nya.
  2. Tata letak layar saat ini akan muncul dalam panel di sebelah kanan jendela Record Your Test. Untuk memilih elemen View di mana pernyataan akan dibuat, klik elemen pada screenshot atau gunakan menu drop-down pertama dalam kotak Edit assertion di bagian bawah jendela. Objek View yang dipilih akan ditandai dengan kotak merah.
  3. Pilih pernyataan yang ingin Anda gunakan dari menu drop-down kedua di kotak Edit assertion. Espresso mengisi menu dengan pernyataan yang valid untuk elemen View yang dipilih.
    • Jika Anda memilih assertion "text is", Espresso akan otomatis memasukkan teks yang saat ini berada di dalam elemen View yang dipilih. Anda bisa mengedit teks agar sesuai dengan pernyataan yang diinginkan menggunakan kolom teks di kotak Edit assertion.
  4. Klik Save and Add Another untuk membuat pernyataan lain, atau klik Save Assertion untuk menutup panel pernyataan.

Screenshot pada gambar 2 menunjukkan pernyataan "text is" dibuat untuk memverifikasi bahwa judul catatan adalah "Happy Testing!":

Gambar 2. Kotak Edit assertion setelah elemen View dipilih (merah).

Selagi membuat pernyataan, Anda dapat melanjutkan interaksi dengan aplikasi, meskipun panel pernyataan masih terbuka di jendela Record Your Test. Espresso Test Recorder akan terus mencatat tindakan Anda tetapi, begitu disimpan, pernyataan yang Anda edit akan muncul sebelum semua interaksi tersebut. Screenshot untuk pernyataan juga mempertahankan tata letak yang ditampilkan perangkat atau emulator saat Anda menekan tombol Add Assertion.

Menyimpan rekaman

Setelah Anda selesai berinteraksi dengan aplikasi dan menambahkan pernyataan, lakukan langkah-langkah berikut untuk menyimpan rekaman dan menghasilkan pengujian Espresso:

  1. Klik Complete Recording. Jendela Pick a test class name for your test akan muncul.
  2. Espresso Test Recorder memberikan pengujian Anda nama yang unik dalam paketnya berdasarkan nama aktivitas yang diluncurkan. Gunakan kolom teks Test class name jika Anda ingin mengubah nama yang disarankan. Klik Simpan.
    • Jika Anda belum menambahkan dependensi Espresso ke aplikasi Anda, dialog Missing Espresso dependencies akan muncul saat Anda mencoba menyimpan pengujian. Klik Yes untuk otomatis menambahkan dependensi ke file build.gradle Anda.
  3. File akan otomatis terbuka setelah Espresso Test Recorder membuatnya, dan Android Studio akan menampilkan class pengujian seperti yang dipilih di jendela Project IDE.
    • Dalam hal ini, penyimpanan pengujian bergantung pada lokasi root pengujian instrumentasi Anda, serta nama paket aktivitas yang diluncurkan. Misalnya, pengujian untuk aplikasi pengujian Notes akan disimpan di folder src > androidTest > java > com.example.username.appname pada modul aplikasi tempat Anda merekam pengujian.

Menjalankan pengujian Espresso secara lokal

Untuk menjalankan pengujian Espresso, gunakan jendela Project di sisi kiri Android Studio IDE:

  1. Buka folder modul aplikasi yang diinginkan, lalu buka pengujian yang ingin Anda jalankan. Lokasi pengujian bergantung pada lokasi root pengujian instrumentasi dan nama paket aktivitas yang diluncurkan. Contoh berikut menunjukkan lokasi penyimpanan pengujian untuk aplikasi pengujian Notes:
    • Jika Anda menggunakan tampilan Android di dalam jendela ini, buka java > com.example.username.appname (androidTest).
    • Jika Anda menggunakan tampilan Project di dalam jendela ini, buka src > androidTest > java > com.example.username.appname dalam folder modul.
  2. Klik kanan pengujian, lalu klik Run ‘testName’
    • Atau, Anda dapat membuka file pengujian dan mengklik kanan metode atau class uji yang dihasilkan. Baca selengkapnya cara menjalankan pengujian di halaman Menguji Aplikasi Anda.
  3. Pada jendela Select Deployment Target, pilih perangkat yang ingin Anda jalankan pengujiannya. Bila perlu, buat Android Virtual Device baru. Klik OK.

Pantau progres pengujian Anda dalam jendela Run di bagian bawah IDE. Android Studio menjalankan build lengkap project dan membuka tab dengan nama pengujian Anda di jendela Run, seperti yang ditunjukkan pada gambar 3. Anda dapat memeriksa apakah pengujian Anda lulus atau gagal di tab ini, serta berapa lama pengujian berjalan. Setelah pengujian selesai, tab akan mencatat log "Test run to completion".

Gambar 3. Contoh output di jendela Run setelah menjalankan pengujian Espresso secara lokal.

Untuk mempelajari lebih lanjut cara menulis konfigurasi test run, baca bagian "Menentukan konfigurasi pengujian untuk sebuah class atau metode" di Membuat dan Mengedit Konfigurasi Run/Debug.

Menjalankan pengujian Espresso dengan Firebase Test Lab for Android

Anda dapat menggunakan pengujian yang dihasilkan oleh Espresso Test Recorder dengan Firebase Test Lab untuk menguji aplikasi di cloud pada ratusan konfigurasi perangkat. Pengujian aplikasi dengan Test Lab dapat dilakukan secara gratis asalkan tidak melebihi kuota gratis harian pada paket Spark. Untuk menjalankan pengujian Espresso dengan Firebase Test Lab, buat project Firebase untuk aplikasi Anda, lalu ikuti petunjuk Menjalankan pengujian dengan Firebase Test Lab dari Android Studio.

Gambar 4. Contoh output di jendela Run setelah menjalankan pengujian dengan Firebase Test Lab di beberapa perangkat.