Buka konsol

Uji Robo Firebase Test Lab

Uji Robo adalah fitur pengujian yang terintegrasi dengan Firebase Test Lab. Uji Robo menganalisis struktur UI aplikasi Anda, kemudian mempelajarinya secara metodis dengan menyimulasikan aktivitas pengguna secara otomatis. Berbeda dengan uji UI/Application Exerciser Monkey, uji Robo selalu menyimulasikan aktivitas pengguna yang sama dalam urutan yang sama ketika Anda menggunakannya untuk menguji aplikasi pada konfigurasi perangkat tertentu dengan pengaturan yang sama. Dengan demikian, Anda dapat menggunakan uji Robo untuk memvalidasi perbaikan bug dan menguji keberadaan regresi dengan cara yang tidak mungkin dilakukan dengan uji UI/Application Exerciser Monkey.

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 akar masalah jika aplikasi Anda error dan juga membantu Anda menemukan masalah pada UI aplikasi.

Statistik crawling pengujian Robo

Untuk membantu Anda menafsirkan hasil pengujian Robo, Robo mencatat statistik selama setiap crawling pengujian. Test Lab menampilkan statistik di bagian atas tab Robo di halaman hasil pengujian Anda:

  • Tindakan: Jumlah total tindakan yang dilakukan selama crawling, termasuk tindakan skrip Robo, tindakan monkey, dan arahan 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 crawling Robo dalam bentuk grafik crawling. Grafik ini memiliki layar sebagai node-nya dan tindakan sebagai edge. Dengan mengikuti edge antarlayar, Anda bisa memahami bagaimana 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 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 Google Developer Console, serta 1.500 detik (25 menit) untuk pengujian yang dijalankan dari command-line gcloud.

Error waktu tunggu start-up aplikasi

Jika aplikasi Anda membutuhkan waktu lama untuk dimulai, Robo dapat menampilkan error, dan tidak akan dapat meng-crawl aplikasi Anda. Hal ini hanya terjadi dalam kasus waktu start-up yang sangat lama, dan hanya dapat diselesaikan dengan merevisi aplikasi Anda agar dapat dimulai lebih cepat.

Lebih banyak kontrol dengan skrip Robo

Terkadang, Anda membutuhkan lebih banyak kontrol terhadap pengujian Anda. Misalnya, Anda mungkin ingin menguji perjalanan pengguna biasa atau memberikan masukan UI tertentu, seperti nama pengguna dan kata sandi. Skrip Robo bisa membantu.

Dengan skrip Robo, Anda merekam diri Anda melalui alur kerja di aplikasi Anda, lalu mengupload rekaman itu ke Firebase console untuk dijalankan dalam uji Robo. Saat Anda menjalankan uji Robo dengan lampiran skrip, Robo akan menjalankan tindakan yang telah ditulis dalam skrip terlebih dahulu, kemudian dilanjutkan dengan menjelajahi aplikasi seperti biasa.

Mulailah dengan membuat skrip Robo melalui fitur Firebase di Android Studio:

  1. Buka Android Studio.
  2. Pada menu utama, pilih Tools > Firebase.
  3. Pilih Test Lab dan klik Record Robo Script and use it to Guide Robo Test.
  4. Ikuti langkah selanjutnya di fitur ini untuk merekam Skrip Robo Anda.
  5. Upload Skrip Robo itu ke Test Lab dan mulailah pengujian Anda.

Error skrip Robo

Jika skrip Robo gagal di titik mana pun, Test Lab akan mengabaikan semua langkah lebih lanjut dalam skrip, dan melanjutkan crawling Robo biasa. Biasanya, skrip Robo gagal karena Test Lab tidak dapat menemukan elemen yang diperlukan di layar. Untuk menghindari kegagalan, pastikan navigasi aplikasi Anda dapat diprediksi dan layar Anda tidak ditampilkan dalam urutan yang tidak deterministik.

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 Robo yang lebih sistematis, Tindakan Monkey hanya menyimulasikan peristiwa tap di lokasi semiacak pada layar perangkat.

Untuk menguji layar yang tidak menggunakan widget UI Android dengan lebih baik, Anda dapat mengganti tap arbitrer dari Tindakan Monkey dengan serangkaian tap dan interaksi tertulis melalui Uji Game Loop Firebase Test Lab.

Integrasi dengan Google Play

Anda dapat menggunakan uji Robo di Google Play Console ketika mengupload dan memublikasikan file APK aplikasi, baik menggunakan saluran alfa maupun beta. Uji Robo dapat dijalankan di sejumlah perangkat fisik populer dari berbagai wilayah geografis, sehingga dapat diterapkan berdasarkan bentuk fisik dan konfigurasi hardware. Untuk mempelajari lebih lanjut, baca bagian Menggunakan laporan pra-peluncuran untuk mengidentifikasi masalah.

Login akun uji coba dan input teks yang telah ditentukan sebelumnya

Uji Robo mendukung login akun uji coba, dan Anda juga dapat memasukkan teks yang telah ditentukan ke dalam kolom di aplikasi. Untuk login kustom dan input teks lain yang telah ditentukan sebelumnya, uji Robo dapat memasukkan teks ke kolom EditText dalam aplikasi Anda. Untuk setiap string, Anda perlu mengidentifikasi kolom EditText menggunakan nama resource Android. Untuk mempelajari lebih lanjut, baca cara Mengakses Konten.

Login

Uji Robo memiliki 2 metode yang eksklusif satu sama lain untuk mendukung proses 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:

  1. Di halaman Pilih dimensi, pilih Tampilkan opsi lanjutan.
  2. 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. Untuk memberikan input teks untuk kolom tambahan, lakukan hal-hal berikut:

  1. Di halaman Pilih dimensi, pilih Tampilkan opsi lanjutan.
  2. Di bagian Kolom tambahan (Opsional), masukkan 1 atau beberapa nama resource dan string yang akan dimasukkan ke kolom teks yang sesuai.

Error input teks yang telah ditentukan

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.

Anda dapat menyediakan hingga 3 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 selama masing-masing 30 detik sebagai tambahan.

Jika 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. Untuk dapat memeriksa pemberian lisensi saat menguji aplikasi Anda dengan Test Lab, Anda harus memublikasikan aplikasi Anda ke channel produksi di Play Store. Untuk menguji aplikasi Anda di channel alfa atau beta menggunakan Test Lab, hapus pemeriksaan pemberian lisensi sebelum mengupload aplikasi ke Test Lab.

Masalah umum

Saat ini, ada beberapa keterbatasan pada uji Robo yang telah kami ketahui, yaitu:

  • Dukungan framework UI. Uji Robo hanya kompatibel dengan aplikasi yang menggunakan elemen UI dari framework UI Android (termasuk objek View dan ViewGroup, tetapi tidak termasuk objek WebView). Jika Anda menggunakan uji Robo untuk menguji aplikasi yang menggunakan framework UI lain, termasuk aplikasi yang menggunakan mesin game Unity, pengujian dapat berakhir tanpa menjelajahi aplikasi di luar layar pertama.
  • Captcha login. Uji Robo tidak dapat melewati layar login yang memerlukan tindakan lain dari pengguna selain memasukkan kredensial untuk login (seperti melengkapi Captcha).