Menjalankan skrip Robo (iOS+)
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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.
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.
Langkah berikutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-29 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-29 UTC."],[],[],null,["\u003cbr /\u003e\n\nThis document describes how to use *Robo scripts* , which are tests that automate\nmanual QA tasks for mobile apps, and enable continuous integration (CI) and\npre-launch testing strategies. For example, you can use Robo scripts to test a\ncommon user journey or provide specific user interface (UI) input, like a\nusername and password. Robo scripts are a feature of [Robo\ntest](/docs/test-lab/ios/robo-ux-test).\n\nRobo scripts use [Robo test](/docs/test-lab/android/robo-ux-test)\nas the test engine. In its most basic form, a Robo script consists of a\nsequence of UI actions like *enter text 'username'* and\nthen *tap the OK button* . Robo scripts can also include actions like waiting\nfor an element to appear, tapping at a specific point within an element, and\nexecuting Android Debug Bridge (`adb`) shell commands.\n\nRobo scripts have the following advantages over traditional testing frameworks:\n\n|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Capability** | **Description** |\n| Highly robust | Robo scripts can tolerate significant structural and behavioral differences between app versions and app flakiness. |\n| Open-ended | After a Robo script completes, the base Robo test can take over and continue testing the app. This continued testing approach enables several key use cases. For example, you can use a Robo script to bring an app into a particular state by performing a custom sign-in flow. |\n| Recordable | You don't need to code Robo scripts manually. They can be recorded using the Robo script recorder in Android Studio. Creating or modifying Robo scripts typically doesn't require any knowledge of mobile development. |\n| Flexible | Robo scripts can interact with non-native UI elements that are common in games. |\n\nRobo scripts are conditionally triggered during a Robo test, which lets users\naugment Robo's behavior - typically to achieve greater coverage or target\nspecific functionality. In contrast to traditional testing frameworks,\nRobo scripts support the following:\n\n- Various triggering conditions, for example, a particular app package name being active (or not) or a specific element being displayed on the screen (or not).\n- Execution controls, for example, a maximum number of executions, priority, relevant crawl stage.\n- Unconventional action types (conditional, element-ignoring, screen-closing).\n\nWe recommend that you use Robo scripts whenever possible because they can be\nmaintained effortlessly. For example, you can use a Robo script to do the\nfollowing:\n\n- Navigate significant workflows to get to the core of an app's functionality. For example, you can perform a sign-in, set up an app's state after the first launch, and register a new user.\n- Focus Robo on a particular part of an app to get the most out of Robo test time. Robo script guides Robo test to reach the relevant part of an app, where Robo test resumes a fully automated crawl.\n- Bring an app into a specific state or screen to perform an analysis, for example, to analyze an in-app message, privacy policy, or specific level of a game.\n- Perform an end-to-end instrumentation test, with or without Robo test resuming a fully automated crawl after the Robo script is complete.\n\nUse more advanced Robo script features to do the following:\n\n- Perform actions before Robo starts crawling the app-under-test or after a crawl is finished, for example, clean the app-under-test data before a crawl, or change device settings.\n- Change aspects of Robo behavior during a crawl, in particular:\n - Make Robo ignore some UI widgets or app screens.\n - Provide a custom action for Robo to perform when backtracking from a particular screen.\n - Make Robo perform specific actions whenever a particular app screen is encountered during a crawl.\n- Completely customize how Robo performs a crawl. For example, use a combination of conditional and non-conditional actions to keep the app-under-test in the background throughout the crawl, while performing device manipulations and dismissing any popup dialogs that appear along the way.\n\nKeep in mind that Robo scripts don't replace all kinds of tests. You still\nneed unit tests to catch low-level logic bugs in your app; these tests\ntypically don't require an Android or iOS environment. We recommend that you\nsupplement Robo script tests with targeted instrumentation tests that can have\nspecific, detailed assertions about business logic, which are best expressed\nin code.\n\nNext steps\n\n- To learn about Robo scripts structure, capabilities, usage, and actions, see\n the [Robo scripts reference guide](/docs/test-lab/android/robo-scripts-reference#ios-support-for-robo-scripts).\n\n- [Run a Robo test](/docs/test-lab/ios/robo-ux-test)."]]