Esecuzione di uno script Robo (iOS+)
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo documento descrive come utilizzare gli script Robo, ovvero test che automatizzano le attività di controllo qualità manuale per le app mobile e consentono strategie di integrazione continua (CI) e test pre-lancio. Ad esempio, puoi utilizzare gli script Robo per testare un percorso utente comune o fornire input specifici dell'interfaccia utente, come un nome utente e una password. Gli script Robo sono una funzionalità del test
Robo.
Gli script Robo utilizzano il test Robo
come motore di test. Nella sua forma più semplice, uno script Robo è costituito da una
sequenza di azioni dell'interfaccia utente come inserire il testo "nome utente" e
poi toccare il pulsante OK. Gli script Robo possono includere anche azioni come l'attesa
che un elemento venga visualizzato, il tocco di un punto specifico all'interno di un elemento e
l'esecuzione di comandi shell di Android Debug Bridge (adb
).
Gli script Robo presentano i seguenti vantaggi rispetto ai framework di test tradizionali:
Capacità
|
Descrizione
|
Molto robusto
|
Gli script Robo possono tollerare differenze strutturali e comportamentali
significative tra le versioni dell'app e l'instabilità dell'app.
|
Domanda aperta
|
Al termine di uno script Robo, il test Robo di base può subentrare e
continuare a testare l'app. Questo approccio di test continuo consente
diversi casi d'uso chiave. Ad esempio, puoi utilizzare uno script Robo per portare
un'app in un determinato stato eseguendo un flusso di accesso personalizzato.
|
Registrabile
|
Non è necessario codificare manualmente gli script Robo. Possono essere registrati utilizzando
il registratore di script Robo in Android Studio. La creazione o la modifica degli script Robo
in genere non richiede alcuna conoscenza dello sviluppo mobile.
|
Flessibile
|
Gli script Robo possono interagire con elementi UI non nativi comuni nei
giochi.
|
Gli script Robo vengono attivati in modo condizionale durante un test Robo, il che consente agli utenti
di aumentare la copertura o di scegliere come target
funzionalità specifiche. A differenza dei framework di test tradizionali,
gli script Robo supportano quanto segue:
- Varie condizioni di attivazione, ad esempio un determinato nome del pacchetto dell'app
attivo (o meno) o un elemento specifico visualizzato sullo schermo
(o meno).
- Controlli di esecuzione, ad esempio un numero massimo di esecuzioni, priorità,
fase di scansione pertinente.
- Tipi di azioni non convenzionali (condizionali, che ignorano gli elementi, che chiudono lo schermo).
Ti consigliamo di utilizzare i Robo script ogni volta che è possibile perché possono essere
gestiti senza problemi. Ad esempio, puoi utilizzare uno script Robo per:
- Naviga nei flussi di lavoro significativi per arrivare al cuore della funzionalità di un'app.
Ad esempio, puoi eseguire l'accesso, configurare lo stato di un'app dopo il
primo avvio e registrare un nuovo utente.
- Concentra Robo su una parte specifica di un'app per sfruttare al meglio il tempo di test Robo. Lo script Robo guida il test Robo fino alla parte pertinente di un'app,
dove il test Robo riprende una scansione completamente automatizzata.
- Porta un'app in uno stato o una schermata specifici per eseguire un'analisi, ad esempio per analizzare un messaggio in-app, le norme sulla privacy o un livello specifico di un gioco.
- Esegui un test di strumentazione end-to-end, con o senza test Robo
riprendendo una scansione completamente automatizzata al termine dello script Robo.
Utilizza le funzionalità più avanzate degli script Robo per:
- Esegui azioni prima che Robo inizi a eseguire la scansione dell'app in test o dopo che una
scansione è terminata, ad esempio pulisci i dati dell'app in test prima di una
scansione o modifica le impostazioni del dispositivo.
- Modifica gli aspetti del comportamento di Robo durante una scansione, in particolare:
- Fai in modo che Robo ignori alcuni widget UI o schermate dell'app.
- Fornisci un'azione personalizzata che Robo deve eseguire quando torna indietro da una
determinata schermata.
- Fai in modo che Robo esegua azioni specifiche ogni volta che viene visualizzata una particolare schermata dell'app durante una scansione.
- Personalizza completamente il modo in cui Robo esegue la scansione. Ad esempio, utilizza una combinazione di azioni condizionali e non condizionali per mantenere l'app in test in background durante la scansione, eseguendo manipolazioni del dispositivo e chiudendo le finestre di dialogo popup che vengono visualizzate durante il percorso.
Tieni presente che gli script Robo non sostituiscono tutti i tipi di test. Hai comunque bisogno di unit test per rilevare bug logici di basso livello nella tua app; questi test in genere non richiedono un ambiente Android o iOS. Ti consigliamo di integrare i test degli script Robo con test di instrumentazione mirati che possono contenere asserzioni specifiche e dettagliate sulla logica di business, che vengono espresse al meglio nel codice.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-29 UTC.
[null,null,["Ultimo aggiornamento 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)."]]