lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

Membuat Pengujian UI dengan Espresso Test Recorder

Alat Espresso Test Recorder memungkinkan Anda membuat pengujian UI untuk aplikasi tanpa menulis kode pengujian apa pun. Dengan merekam skenario pengujian, Anda bisa 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 secara otomatis menghasilkan pengujian UI yang sesuai yang bisa Anda jalankan untuk menguji aplikasi.

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

Mematikan 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 Pengujian UI untuk Aplikasi Tunggal, tetapi harap ingat bahwa Anda tidak perlu secara manual mengatur referensi dependensi ke library Espresso karena Test Recorder melakukan hal ini secara otomatis 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 tap dan ketik yang mungkin digunakan pengguna untuk berinteraksi dengan aplikasi Anda. Pernyataan memverifikasi keberadaan atau konten elemen visual pada layar. Misalnya, uji Espresso untuk aplikasi pengujian Catatan mungkin mencakup interaksi UI untuk mengklik tombol dan menulis catatan baru tetapi menggunakan pernyataan untuk memverifikasi adanya 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 membuat 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 dari 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 tertulis "No events recorded yet." Lakukan interaksi dengan perangkat Anda untuk memulai pencatatan log event seperti tindakan "tap" dan "ketik".

Catatan: Sebelum Anda bisa mulai melakukan pencatatan log interaksi, Anda mungkin melihat dialog pada perangkat yang berbunyi "Waiting for Debugger" atau "Attaching Debugger." Espresso Test Recorder menggunakan debugger untuk mencatat log event UI. Saat debugger tersemat, dialog akan tertutup secara otomatis; 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 ini. 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 telah di-log.

Menambahkan pernyataan untuk memverifikasi elemen UI

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

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

Untuk menambahkan pernyataan pada 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 itu akan tertutup secara otomatis begitu Espresso merekam screenshot-nya.
  2. Layout layar saat ini akan muncul dalam panel di sebelah kanan jendela Record Your Test. Untuk memilih elemen View yang digunakan untuk membuat pernyataan, klik elemen pada screenshot atau gunakan menu drop-down pertama di 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 pernyataan "text is", Espresso secara otomatis akan 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 yang lain atau klik Save Assertion untuk menutup panel assertion.

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

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

Selagi membuat pernyataan, Anda bisa terus berinteraksi dengan aplikasi, bahkan ketika panel pernyataan masih terbuka di jendela Record Your Test. Espresso Test Recorder akan terus mencatat log tindakan Anda, namun pernyataan yang Anda edit akan muncul sebelum interaksi-interaksi ini segera setelah itu disimpan. Screenshot untuk pernyataan juga mempertahankan layout yang dimiliki 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 Anda 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 bila Anda ingin mengubah nama yang disarankan. Klik Save.
    • Bila Anda belum menambahkan dependensi Espresso ke aplikasi, dialog Missing Espresso dependencies akan muncul saat Anda mencoba untuk menyimpan pengujian. Klik Yes untuk secara otomatis menambahkan dependensi ke file build.gradle Anda.
  3. File secara otomatis akan terbuka setelah Espresso Test Recorder membuatnya, dan Android Studio menunjukkan kelas pengujian seperti yang dipilih di jendela Project dari IDE.
    • Dalam hal ini, penyimpanan pengujian tergantung pada lokasi akar pengujian instrumentasi Anda, serta nama paket aktivitas yang diluncurkan. Misalnya, pengujian untuk aplikasi pengujian Catatan disimpan di folder src > androidTest > java > com.example.username.appname dari 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 dan buka pengujian yang ingin Anda jalankan. Lokasi pengujian tergantung pada lokasi akar pengujian instrumentasi dan nama paket aktivitas yang diluncurkan. Contoh berikut menunjukkan tempat penyimpanan pengujian untuk aplikasi pengujian Catatan:
    • Bila Anda menggunakan tampilan Android di dalam jendela, buka java > com.example.username.appname (androidTest).
    • Bila Anda menggunakan tampilan Project di dalam jendela, buka src > androidTest > java > com.example.username.appname dalam folder modul.
  2. Klik kanan pada pengujian dan klik Run ‘testName.’
    • Atau, Anda bisa membuka file pengujian dan mengklik kanan metode atau kelas pengujian yang dihasilkan. Baca selengkapnya tentang 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.

Monitor kemajuan pengujian Anda di jendela Run di bagian bawah IDE. Android Studio menjalankan versi lengkap project dan membuka tab dengan nama pengujian Anda di jendela Run, seperti yang ditunjukkan pada gambar 3. Anda bisa memeriksa apakah pengujian Anda berhasil atau gagal dalam tab ini, serta seberapa lama pengujian itu berjalan. Saat pengujian selesai, tab akan mencatat log "Tests ran to completion."

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

Untuk mempelajari lebih lanjut tentang penulisan konfigurasi pengujian, baca bagian "Mendefinisikan konfigurasi pengujian ke kelas atau metode" di Membuat dan Mengedit Konfigurasi Run/Debug.

Menjalankan pengujian Espresso dengan Firebase Test Lab for Android

Anda bisa menggunakan pengujian yang dihasilkan oleh Espresso Test Recorder dengan Firebase Test Lab untuk menguji aplikasi Anda di cloud pada ratusan konfigurasi perangkat. Tidak ada biaya ketika menguji aplikasi Anda dengan Test Lab bila tidak melebihi kuota gratis harian di paket Spark. Untuk menjalankan pengujian Espresso dengan Firebase Test Lab, buat project Firebase untuk aplikasi Anda kemudian ikuti petunjuk untuk Menjalankan pengujian Anda dengan Firebase Test Lab dari Android Studio.

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