Questo documento descrive come utilizzare gli script Robo, ovvero test che automatizzano le attività manuali di QA per le app mobile e consentono di attivare le strategie di integrazione continua (CI) e di test pre-lancio. Ad esempio, puoi utilizzare gli script Robo per testare un percorso dell'utente comune o fornire input specifici dell'interfaccia utente (UI), come un nome utente e una password. Gli script Robo sono una funzionalità del test Robo.
Gli script Robo utilizzano Robo test
come motore di test. Nella sua forma più semplice, uno script Robo è costituito da una sequenza di azioni dell'interfaccia utente, ad esempio inserisci il testo "nome utente" e poi tocca il pulsante OK. Gli script Robo possono includere anche azioni come attendere la comparsa di un elemento, toccare un punto specifico all'interno di un elemento ed eseguire 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 di comportamento significative tra le versioni dell'app e l'instabilità dell'app. |
Domanda aperta | Dopo il completamento di uno script Robo, il test Robo di base può prendere il controllo dell'app e continuare a testarla. 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 lo strumento di registrazione 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 dell'interfaccia utente non nativi comuni nei giochi. |
Gli script Robo vengono attivati condizionatamente durante un test Robo, il che consente agli utenti di migliorare il comportamento di Robo, in genere per ottenere una maggiore copertura o per avere come target funzionalità specifiche. A differenza dei framework di test tradizionali, gli script Robo supportano quanto segue:
- Varie condizioni di attivazione, ad esempio l'attivazione (o meno) di un determinato nome del pacchetto dell'app o la visualizzazione (o meno) di un elemento specifico sullo schermo.
- Controlli di esecuzione, ad esempio numero massimo di esecuzioni, priorità e fase di scansione pertinente.
- Tipi di azioni non convenzionali (condizionali, senza elementi, chiusura degli schermi).
Ti consigliamo di utilizzare gli script Robo, se possibile, perché possono essere gestiti senza problemi. Ad esempio, puoi utilizzare uno script Robo per:
- Esplora flussi di lavoro significativi per arrivare al cuore della funzionalità di un'app. Ad esempio, puoi eseguire un 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 ottenere il massimo dal tempo di test Robo. Lo script Robo guida il test Robo a raggiungere la 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 misurazione end-to-end, con o senza il test Robo, riprendendo una scansione completamente automatica al termine dello script Robo.
Utilizza funzionalità più avanzate degli script Robo per:
- Esegui azioni prima che Robo inizi la scansione dell'app in test o al termine di una scansione, ad esempio ripulisci i dati dell'app in test prima di una scansione o modifica le impostazioni del dispositivo.
- Modificare aspetti del comportamento di Robo durante una scansione, in particolare:
- Consenti a Robo di ignorare alcuni widget UI o schermate delle app.
- Fornisci un'azione personalizzata da eseguire da Robo quando esegui il riavvolgimento da una determinata schermata.
- Consenti a Robo di eseguire azioni specifiche ogni volta che viene rilevata una determinata schermata dell'app durante una scansione.
- Personalizza completamente il modo in cui Robo esegue una scansione. Ad esempio, utilizza una combinazione di azioni condizionali e non condizionali per mantenere l'app in test in background durante la scansione, mentre esegui manipolazioni del dispositivo e chiudi eventuali finestre di dialogo popup che compaiono.
Tieni presente che gli script Robo non sostituiscono tutti i tipi di test. Hai comunque bisogno di test di unità 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 i test di strumentazione mirata che possono avere asserzioni specifiche e dettagliate sulla logica di business, che sono meglio espresse nel codice.
Passaggi successivi
Per informazioni sulla struttura, sulle funzionalità, sull'utilizzo e sulle azioni degli script Robo, consulta la guida di riferimento sugli script Robo.