Membuat pengujian UI dengan Espresso Test Recorder

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Alat 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 perangkat dan menambahkan pernyataan untuk memverifikasi elemen UI dalam rekaman data tertentu aplikasi Anda. Espresso Test Recorder kemudian mengambil rekaman yang disimpan dan otomatis menghasilkan pengujian UI yang sesuai yang dapat dijalankan untuk menguji aplikasi.

Espresso Test Recorder menulis pengujian berdasarkan framework Pengujian Espresso, yakni API dalam AndroidX Test. Espresso API akan membantu Anda membuat pengujian UI yang ringkas dan andal berdasarkan tindakan pengguna. Dengan menyatakan ekspektasi, interaksi, dan pernyataan tanpa secara langsung mengakses aktivitas dan tampilan aplikasi yang mendasarinya, struktur ini akan mencegah kelemahan pengujian dan mengoptimalkan kecepatan pelaksanaan pengujian.

Menonaktifkan animasi di perangkat pengujian Anda

Sebelum menggunakan Espresso Test Recorder, pastikan Anda menonaktifkan animasi di perangkat pengujian untuk mencegah hasil yang tidak diharapkan. Ikuti petunjuk "Menyiapkan Espresso" di halaman Menguji UI untuk Satu Aplikasi, tetapi ingat, Anda tidak perlu menetapkan referensi dependensi secara manual ke library Espresso karena Test Recorder otomatis menetapkannya saat Anda menyimpan rekaman. Langkah-langkah ini hanya perlu dilakukan sekali untuk project tersebut.

Merekam pengujian Espresso

Pengujian Espresso terdiri atas 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 Catatan 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 telah 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 Perangkat Virtual Android 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 akan muncul setelah aplikasi diluncurkan. Karena Anda belum berinteraksi dengan perangkat, panel utama akan menampilkan "No events recorded yet". Berinteraksilah dengan perangkat untuk mulai mencatat log peristiwa, seperti "tap" dan "type".

Catatan: Sebelum dapat mulai mencatat log interaksi, Anda mungkin melihat dialog di perangkat yang menampilkan "Waiting for Debugger" atau "Attaching Debugger". Espresso Test Recorder menggunakan debugger untuk mencatat log peristiwa UI. Setelah debugger terpasang, dialog akan otomatis tertutup; jangan tekan 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 menjalankan tindakan ini dalam urutan yang sama.

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

Menambahkan pernyataan untuk memverifikasi elemen UI

Assertion memverifikasi keberadaan atau konten elemen View melalui tiga cara utama:

  • text is: Memastikan 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, ikuti langkah-langkah berikut:

  1. Klik Add Assertion. Dialog Screen Capture akan muncul saat Espresso mendapatkan hierarki UI dan informasi lain tentang status aplikasi saat ini. Dialog akan tertutup secara otomatis setelah Espresso mengambil screenshot.
  2. Tata letak layar saat ini akan muncul dalam panel di sebelah kanan jendela Record Your Test. Untuk memilih elemen View tempat pernyataan akan dibuat, klik elemen di 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 akan mengisi menu dengan pernyataan yang valid untuk elemen View yang dipilih.
    • Jika Anda memilih pernyataan "text is", Espresso akan secara otomatis memasukkan teks yang saat ini berada di dalam elemen View yang dipilih. Anda dapat 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).

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

Menyimpan rekaman

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

  1. Klik Complete Recording. Jendela Pick a test class name for your test akan muncul.
  2. Espresso Test Recorder akan memberikan nama unik untuk pengujian Anda dalam paketnya berdasarkan nama aktivitas yang diluncurkan. Gunakan kolom teks Test class name jika ingin mengubah nama yang disarankan. Klik Save.
    • Jika belum menambahkan dependensi Espresso ke aplikasi, dialog Missing Espresso dependencies akan muncul saat Anda mencoba menyimpan pengujian. Klik Yes untuk secara otomatis menambahkan dependensi ke file build.gradle.
  3. File akan otomatis terbuka setelah Espresso Test Recorder membuatnya, dan Android Studio akan menampilkan class pengujian seperti yang dipilih di jendela Project IDE.
    • Tempat penyimpanan pengujian bergantung pada lokasi root pengujian instrumentasi, serta nama paket aktivitas yang diluncurkan. Misalnya, pengujian untuk aplikasi pengujian Catatan 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 IDE Android Studio:

  1. Buka folder modul aplikasi yang diinginkan, lalu buka pengujian yang ingin Anda jalankan. Lokasi pengujian bergantung pada lokasi root uji instrumentasi dan nama paket aktivitas yang diluncurkan. Contoh berikut ini menunjukkan lokasi penyimpanan pengujian untuk aplikasi pengujian Catatan:
    • Jika 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 pengujian yang dihasilkan. Baca selengkapnya cara menjalankan pengujian di halaman Menguji Aplikasi Anda.
  3. Pada jendela Select Deployment Target, pilih perangkat yang ingin dijalankan pengujiannya. Bila perlu, buat Perangkat Virtual Android 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 percobaan pengujian, 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 ponsel. Pengujian aplikasi dengan Test Lab dapat dilakukan secara gratis selama tidak melebihi kuota harian gratis 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.