Questo documento descrive come utilizzare gli script Robo, ovvero test che automatizzano le attività di controllo qualità manuale per le app mobile e consentono l'integrazione continua (CI) e le strategie di 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, un Robo script è 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 il comportamento di Robo, in genere per ottenere una maggiore copertura o 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 rilevata 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 fase di 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
Per scoprire di più su struttura, funzionalità, utilizzo e azioni degli script Robo, consulta la guida di riferimento agli script Robo.