Uji Robo adalah alat pengujian yang terintegrasi dengan Firebase Test Lab. Uji Robo menganalisis struktur antarmuka pengguna (UI) aplikasi Anda, kemudian mempelajarinya secara metodis dengan menyimulasikan aktivitas pengguna secara otomatis. Uji Robo selalu menyimulasikan aktivitas pengguna yang sama dalam urutan yang sama ketika Anda menggunakannya untuk menguji aplikasi pada konfigurasi perangkat tertentu dengan setelan yang sama. Dengan pendekatan pengujian berulang ini, Anda dapat menggunakan Uji Robo untuk memvalidasi perbaikan bug dan menguji keberadaan regresi.
Uji Robo menangkap file log, menyimpan serangkaian screenshot teranotasi, lalu membuat video dari screenshot tersebut untuk menunjukkan simulasi operasi pengguna yang dijalankannya. Log, screenshot, dan video ini dapat membantu Anda menentukan penyebab utama error aplikasi. Fitur uji Robo ini juga dapat membantu Anda menemukan masalah pada UI aplikasi Anda.
Selain menjalankan uji Robo biasa, Anda dapat menyesuaikan pengujian menggunakan skrip Robo, yang merupakan fitur dari uji Robo. Untuk mempelajari lebih lanjut, baca bagian Menjalankan skrip Robo.
Jika ingin mencoba Robo untuk iOS+ versi beta, lihat Menjalankan Uji Robo.
Statistik crawling uji Robo
Untuk membantu Anda menafsirkan hasil uji Robo, uji Robo mencatat statistik selama setiap crawling pengujian. Test Lab menampilkan statistik di bagian atas tab uji Robo di halaman hasil pengujian Anda:
Tindakan: Jumlah total tindakan yang dilakukan selama crawling, termasuk tindakan skrip Robo, tindakan monkey, dan perintah Robo.
Aktivitas: Jumlah aktivitas berbeda yang tercakup selama crawling.
Layar: Jumlah layar berbeda yang dikunjungi selama crawling.
Test Lab juga menggunakan statistik untuk membuat representasi visual dari uji Robo dalam bentuk grafik crawling. Grafik ini memiliki layar sebagai node-nya dan tindakan sebagai edge. Dengan mengikuti edge antarlayar, Anda bisa memahami bagaimana uji Robo menjelajahi aplikasi Anda selama crawling.
Waktu tunggu uji Robo
Tergantung kompleksitas UI aplikasi Anda, uji Robo mungkin memerlukan waktu 5 menit atau lebih untuk menyelesaikan serangkaian interaksi UI secara menyeluruh. Kami sarankan untuk menyetel waktu tunggu pengujian minimal 120 detik (2 menit) untuk sebagian besar aplikasi, dan 300 detik (5 menit) untuk aplikasi yang lebih rumit. Nilai default waktu tunggu adalah 300 detik (5 menit) untuk pengujian yang dijalankan dari Android Studio dan Firebase console, serta 900 detik (15 menit) untuk pengujian yang dijalankan dari command line gcloud
.
Error waktu tunggu start-up aplikasi
Jika aplikasi Anda membutuhkan waktu lama untuk dimulai, Uji Robo dapat menampilkan error, dan tidak akan dapat meng-crawl aplikasi Anda. Hal ini hanya terjadi dalam kasus waktu pengaktifan yang sangat lama, dan hanya dapat diselesaikan dengan merevisi aplikasi Anda agar dapat dimulai lebih cepat.
Kontrol lebih besar dengan skrip Robo
Terkadang, Anda membutuhkan kontrol lebih besar atas pengujian Anda. Misalnya, Anda mungkin ingin menguji perjalanan pengguna biasa atau memberikan input UI tertentu, seperti nama pengguna dan sandi. Skrip Robo bisa membantu. Untuk mempelajari skrip Robo lebih lanjut, baca artikel Menjalankan skrip Robo dan Panduan referensi skrip Robo.
Uji Robo dan widget UI non-Android
Uji Robo menggunakan Android API untuk melakukan tindakan pada widget UI Android secara langsung. Hal tersebut membantu uji Robo untuk mempelajari UI Anda secara otomatis, namun juga berarti bahwa uji Robo harus dapat mengekstrak hierarki UI Android untuk sebuah layar agar dapat menjalankan pengujian pada layar itu.
Jika layar di aplikasi Anda tidak menggunakan widget UI Android, uji Robo akan kembali ke Tindakan Monkey untuk menguji layar tersebut. Tidak seperti tindakan uji Robo yang lebih sistematis, Tindakan Monkey hanya menyimulasikan peristiwa ketuk di lokasi semiacak pada layar perangkat.
Untuk menguji layar yang tidak menggunakan widget UI Android dengan lebih baik, Anda dapat mengganti ketukan arbitrer dari Tindakan Monkey dengan serangkaian ketukan dan interaksi tertulis melalui Uji Game Loop Firebase Test Lab.
Integrasi dengan Google Play
Anda dapat menggunakan uji Robo di Konsol Google Play ketika mengupload dan memublikasikan file APK aplikasi, baik menggunakan saluran alfa maupun beta. Uji Robo dapat dijalankan di sejumlah perangkat fisik populer dari berbagai lokasi geografis, sehingga dapat diterapkan berdasarkan faktor bentuk dan konfigurasi hardware. Untuk mempelajari lebih lanjut, baca bagian Menggunakan laporan pra-peluncuran untuk mengidentifikasi masalah.
Login akun pengujian dan input teks yang telah ditentukan sebelumnya
Uji Robo mendukung login akun uji coba, dan juga dapat digunakan untuk memasukkan teks yang telah ditentukan sebelumnya ke dalam kolom di aplikasi Anda. Untuk login kustom dan input teks yang telah ditentukan sebelumnya, uji Robo dapat memasukkan teks ke kolom EditText
di aplikasi. Untuk setiap string, Anda perlu mengidentifikasi kolom EditText
menggunakan nama resource Android. Untuk mempelajari lebih lanjut, baca cara Mengakses Resource.
Login
Uji Robo memiliki dua metode yang eksklusif satu sama lain untuk mendukung login:
Login kustom: Jika Anda memberikan kredensial akun uji coba, Anda harus memberi tahu uji Robo tempat untuk memasukkannya dan juga memberikan kredensial tersebut.
Login otomatis: Jika aplikasi Anda memiliki layar login yang menggunakan Akun Google untuk menjalankan autentikasi, uji Robo akan menggunakan akun uji coba Google, kecuali jika Anda memberikan kredensial akun uji coba untuk login kustom.
Untuk memberikan kredensial akun uji coba atas login kustom, lakukan hal-hal berikut:
Di halaman Pilih dimensi, pilih Opsi tambahan.
Di bagian Kredensial akun uji coba (Opsional), masukkan nama pengguna dan sandi untuk nama resource, serta nama pengguna dan sandi untuk akun uji coba.
Input teks yang telah ditentukan sebelumnya
Anda dapat memberikan teks input kustom untuk kolom teks lain yang digunakan oleh aplikasi Anda. Guna memberikan input teks untuk kolom tambahan, lakukan hal-hal berikut:
Di halaman Pilih dimensi, pilih Opsi tambahan.
Di bagian Kolom tambahan (Opsional), masukkan satu atau beberapa nama resource dan string yang akan dimasukkan ke kolom teks yang sesuai.
Error {:#predefined-text} input teks yang telah ditentukan
Uji Robo menelusuri kolom EditText
dengan nama resource Android yang cocok dengan ekspresi reguler yang disediakan. Jika tidak dapat menemukan kolom yang cocok, Robo tidak memasukkan teks Anda, tetapi akan meneruskan crawling seperti biasa.
Deep link
Anda dapat menyediakan hingga tiga deep link yang didukung oleh aplikasi Anda untuk pengujian.
Deep link diberikan ke aplikasi Anda sebagai intent ACTION_VIEW
Android. Oleh karena itu, setiap link harus cocok dengan filter intent di aplikasi Anda.
Jika satu atau beberapa deep link disediakan, aplikasi pertama kali diluncurkan secara normal (menggunakan intent ACTION_MAIN
) dan di-crawl ke waktu tunggu yang ditentukan. Setelah crawl utama, setiap deep link di-crawl lagi masing-masing selama 30 detik.
Error deep link
Jika uji Robo tidak dapat menemukan aktivitas yang cocok dengan deep link Anda, Test Lab akan mengabaikan link. Masalah deep link biasanya disebabkan oleh perbedaan antara deep link yang disediakan dan definisinya di aplikasi Anda. Periksa URL yang diberikan dan aplikasi Anda untuk menemukan kesalahan ketik atau inkonsistensi lainnya.
Dukungan pemberian lisensi aplikasi
Test Lab mendukung aplikasi yang menggunakan layanan Pemberian Lisensi Aplikasi yang ditawarkan oleh Google Play. Agar dapat memeriksa pemberian lisensi saat menguji aplikasi dengan Test Lab, Anda harus memublikasikan aplikasi tersebut ke saluran production di Play Store. Untuk menguji aplikasi Anda di saluran alfa atau beta menggunakan Test Lab, hapus pemeriksaan pemberian lisensi sebelum mengupload aplikasi tersebut ke Test Lab.
Langkah berikutnya
- Sesuaikan pengujian Anda menggunakan skrip Robo.