Menjalankan skrip Robo (Android)

Dokumen ini menjelaskan cara menggunakan skrip Robo, yang merupakan pengujian yang mengotomatiskan tugas QA manual untuk aplikasi seluler, dan mengaktifkan strategi continuous integration (CI) dan pengujian pra-peluncuran. Misalnya, Anda dapat menggunakan skrip Robo untuk menguji perjalanan pengguna biasa atau memberikan input antarmuka pengguna (UI) tertentu, seperti nama pengguna dan sandi. Skrip Robo merupakan salah satu fitur dari Uji Robo.

Dengan skrip Robo, Anda merekam diri Anda menjalani 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, Uji Robo akan menjalankan tindakan yang telah ditulis dalam skrip terlebih dahulu, kemudian menjelajahi aplikasi seperti biasa.

Skrip Robo menggunakan Uji Robo sebagai mesin uji. Dalam bentuknya yang paling dasar, skrip Robo terdiri dari urutan tindakan UI seperti enter text ‘username’ lalu tap the OK button. Skrip Robo juga dapat mencakup tindakan seperti menunggu elemen muncul, mengetuk titik tertentu dalam elemen, dan menjalankan perintah shell Android Debug Bridge (adb).

Skrip Robo memiliki keunggulan berikut dibandingkan framework pengujian tradisional:

Kemampuan Deskripsi
Sangat andal Skrip Robo dapat menoleransi perbedaan struktural dan perilaku yang signifikan antara versi aplikasi dan ketidakstabilan aplikasi.
Terbuka Setelah skrip Robo selesai, Uji Robo dasar dapat mengambil alih dan melanjutkan pengujian aplikasi. Pendekatan pengujian berkelanjutan ini memungkinkan beberapa kasus penggunaan utama. Misalnya, Anda dapat menggunakan skrip Robo untuk membawa aplikasi ke status tertentu dengan menjalankan alur login kustom.
Dapat direkam Anda tidak perlu membuat kode skrip Robo secara manual. Skrip tersebut dapat direkam menggunakan perekam skrip Robo di Android Studio. Membuat atau mengubah skrip Robo biasanya tidak memerlukan pengetahuan pengembangan seluler.
Fleksibel Skrip Robo dapat berinteraksi dengan elemen UI non-native yang biasa digunakan dalam game.

Skrip Robo dipicu secara kondisional selama Uji Robo, yang memungkinkan pengguna meningkatkan perilaku Robo - biasanya untuk mencapai cakupan yang lebih luas atau menargetkan fungsi tertentu. Berbeda dengan framework pengujian tradisional, skrip Robo mendukung hal berikut:

  • Berbagai kondisi pemicu, misalnya nama paket aplikasi tertentu aktif (atau tidak) atau elemen tertentu ditampilkan di layar (atau tidak).
  • Kontrol eksekusi, misalnya jumlah maksimum eksekusi, prioritas, tahap crawling yang relevan.
  • Jenis tindakan yang tidak konvensional (kondisional, mengabaikan elemen, menutup layar).

Sebaiknya gunakan skrip Robo jika memungkinkan karena skrip tersebut dapat dikelola dengan mudah. Misalnya, Anda dapat menggunakan skrip Robo untuk melakukan hal berikut:

  • Membuka alur kerja yang signifikan untuk sampai ke inti fungsi aplikasi. Misalnya, Anda dapat melakukan login, menyiapkan status aplikasi setelah peluncuran pertama, dan mendaftarkan pengguna baru.
  • Memfokuskan Robo pada bagian aplikasi tertentu untuk mengoptimalkan waktu Uji Robo. Skrip Robo memandu Uji Robo untuk menjangkau bagian aplikasi yang relevan, setelah itu Uji Robo melanjutkan crawling yang sepenuhnya otomatis.
  • Membawa aplikasi ke dalam status atau layar tertentu untuk melakukan analisis, misalnya, untuk menganalisis pesan dalam aplikasi, kebijakan privasi, atau level tertentu dalam game.
  • Melakukan uji instrumentasi menyeluruh, dengan atau tanpa Uji Robo yang melanjutkan crawling otomatis sepenuhnya setelah skrip Robo selesai.

Gunakan fitur skrip Robo yang lebih canggih untuk melakukan hal berikut:

  • Melakukan tindakan sebelum Robo mulai meng-crawl aplikasi yang sedang diuji atau setelah crawling selesai, misalnya, membersihkan data aplikasi yang sedang diuji sebelum crawling, atau mengubah setelan perangkat.
  • Mengubah aspek perilaku Robo selama crawling, khususnya:
    • Membuat Robo mengabaikan beberapa widget UI atau layar aplikasi.
    • Memberikan tindakan kustom untuk dilakukan Robo saat melakukan pelacakan balik dari layar tertentu.
    • Membuat Robo melakukan tindakan tertentu setiap kali layar aplikasi tertentu ditemukan selama crawling.
  • Secara sepenuhnya menyesuaikan cara Robo melakukan crawling. Misalnya, gunakan kombinasi tindakan kondisional dan non-kondisional untuk mempertahankan aplikasi yang sedang diuji di latar belakang selama crawling, sambil melakukan manipulasi perangkat dan menutup dialog pop-up yang muncul sepanjang proses.

Perlu diingat bahwa skrip Robo tidak menggantikan semua jenis pengujian. Anda masih perlu pengujian unit untuk menangkap bug logika tingkat rendah di aplikasi; pengujian ini biasanya tidak memerlukan lingkungan Android atau iOS. Sebaiknya Anda melengkapi uji skrip Robo dengan uji instrumentasi yang ditargetkan, yang dapat memiliki pernyataan spesifik dan mendetail tentang logika bisnis, yang paling baik dinyatakan dalam kode.

Merekam skrip Robo menggunakan Test Lab di Android Studio

Dengan perekam skrip Robo di Android Studio, Anda dapat merekam skrip Robo dengan berinteraksi langsung dengan aplikasi di perangkat Anda. Ikuti petunjuk berikut untuk memulai pembuatan skrip Robo melalui alat Firebase di Android Studio:

  1. Buka Android Studio dan pilih Tools -> Firebase.

  2. Di panel Firebase, klik Record Robo Script and Use it to Guide Robo Test.

  3. Klik Record Robo script. Dialog Select Deployment Target akan muncul.

  4. Pilih perangkat untuk merekam skrip Robo.

  5. Setelah Anda merekam skrip Robo di perangkat, simpan file sebagai file JSON di lokasi yang diinginkan.

  6. Buka halaman Test Lab di Firebase console, lalu upload file skrip JSON dan APK aplikasi.

  7. Klik tombol Continue. Anda akan diminta untuk memilih perangkat dan level API. Setelah skrip pengujian selesai, Test Lab akan menghasilkan laporan pengujian.

  8. (Opsional) Untuk menyalin atau mendownload logcat laporan pengujian dan video, klik View Source Files.

Secara default, mekanisme keandalan skrip Robo mencegahnya gagal lebih awal. Jika Anda memilih mode eksekusi strict dan 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 Robo tidak dapat menemukan elemen yang diperlukan di layar. Untuk menghindari kegagalan, pastikan navigasi aplikasi Anda dapat diprediksi dan layar Anda ditampilkan dalam urutan yang deterministik.

Menjalankan skrip Robo di Test Lab

Untuk menjalankan skrip Robo di Test Lab, ikuti petunjuk berikut:

  1. Buka halaman Test Lab di Firebase console.

  2. Upload APK atau AAB aplikasi di kolom App APK or AAB.

  3. Upload file skrip Robo yang direkam atau yang dibuat secara manual di kolom Robo script (optional).

Menyediakan skrip Robo ke proses Uji Robo lokal

Untuk menyediakan skrip Robo ke Uji Robo lokal, gunakan opsi Uji Robo berikut:

--robo-script-file <robo-script-path>

Ganti <robo-script-path> dengan jalur ke file skrip Robo Anda di sistem file lokal. Ikuti petunjuk untuk menjalankan Uji Robo lokal.

Menentukan skrip Robo dalam pemanggilan pengujian gcloud CLI

Untuk menentukan skrip Robo dalam pemanggilan pengujian gcloud CLI, gunakan flag gcloud CLI berikut:

--robo-script = <robo-script-path>

Ganti <robo-script-path> dengan jalur ke file skrip Robo Anda di sistem file lokal atau di Cloud Storage menggunakan notasi gs://. Contoh:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Langkah berikutnya