Questo documento descrive come utilizzare gli script Robo, ovvero test che automatizzano le attività di QA 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 dell'utente comune o fornire input specifici dell'interfaccia utente (UI), come un nome utente e una password. Gli script Robo sono una funzionalità di Robo test.
Con gli script Robo, registri la procedura di un flusso di lavoro nella tua app, quindi carichi la registrazione nella console Firebase per eseguirla nei test Robo. Quando esegui un test Robo con uno script allegato, Robo esegue prima le azioni nello script e poi esegue la scansione dell'app come al solito.
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, ad esempio inserisci il testo "nome utente" e poi tocca il pulsante OK. Gli script Robo possono includere anche azioni come l'attesa della visualizzazione di un elemento, il tocco di un punto specifico all'interno di un elemento e l'esecuzione di comandi della shell Android Debug Bridge (adb).
Gli script Robo presentano i seguenti vantaggi rispetto ai framework di test tradizionali:
| Capacità | Descrizione |
| Molto robusti | 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 uno stato specifico eseguendo un flusso di accesso personalizzato. |
| Con registratore | Non devi codificare manualmente gli script Robo. Possono essere registrati utilizzando il registratore di script Robo in Android Studio. In genere, la creazione o la modifica degli script Robo non richiede alcuna conoscenza dello sviluppo mobile. |
| Flessibili | Gli script Robo possono interagire con elementi dell'interfaccia utente non nativi comuni nei giochi. |
Gli script Robo vengono attivati in modo condizionale durante un test Robo, consentendo agli utenti di aumentare il comportamento di Robo, in genere per ottenere una maggiore copertura o indirizzare funzionalità specifiche. A differenza dei framework di test tradizionali, gli script Robo supportano quanto segue:
- Varie condizioni di attivazione, ad esempio un nome del pacchetto applicativo specifico 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 gli script Robo, se possibile, perché possono essere gestiti senza sforzo. Ad esempio, puoi utilizzare uno script Robo per:
- Navigare in flussi di lavoro significativi per raggiungere il 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.
- Concentrare Robo su una parte specifica di un'app per sfruttare al meglio il tempo di test Robo. Lo script Robo guida il test Robo per raggiungere la parte pertinente di un'app, dove il test Robo riprende una scansione completamente automatizzata.
- Portare un'app in uno stato o in una schermata specifica per eseguire un'analisi, ad esempio per analizzare un messaggio in-app, le norme sulla privacy o un livello specifico di un gioco.
- Eseguire un test di instrumentazione end-to-end, con o senza il test Robo che riprende una scansione completamente automatizzata al termine dello script Robo.
Utilizza le funzionalità più avanzate degli script Robo per:
- Eseguire azioni prima che Robo inizi la scansione dell'app in fase di test o al termine di una scansione, ad esempio pulire i dati dell'app in fase di test prima di una scansione o modificare le impostazioni del dispositivo.
- Modificare gli aspetti del comportamento di Robo durante una scansione, in particolare:
- Fare in modo che Robo ignori alcuni widget dell'interfaccia utente o schermate dell'app.
- Fornire un'azione personalizzata che Robo deve eseguire quando torna indietro da una schermata specifica.
- Fare in modo che Robo esegua azioni specifiche ogni volta che viene rilevata una schermata dell'app specifica durante una scansione.
- Personalizzare 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 fase di test in background durante la scansione, eseguendo manipolazioni del dispositivo e chiudendo tutte le finestre di dialogo popup che vengono visualizzate durante il processo.
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; in genere, questi test non richiedono un ambiente Android o iOS. Ti consigliamo di integrare i test degli script Robo con test di instrumentazione mirati che possono avere asserzioni specifiche e dettagliate sulla logica di business, che vengono espresse al meglio nel codice.
Registrare uno script Robo utilizzando Test Lab in Android Studio
Il registratore di script Robo in Android Studio ti consente di registrare gli script Robo interagendo direttamente con l'app sul tuo dispositivo. Segui queste istruzioni per iniziare a utilizzare gli script Robo tramite lo strumento Firebase in Android Studio:
Apri Android Studio e seleziona Strumenti -> Firebase.
Nel riquadro Firebase, fai clic su Registra script Robo e utilizzalo per guidare il test Robo.
Fai clic su Registra script Robo. Viene visualizzata la finestra di dialogo Seleziona target di deployment.
Seleziona il dispositivo in cui vuoi registrare lo script Robo.
Dopo aver registrato lo script Robo sul dispositivo, salva il file come file JSON nella posizione desiderata.
Apri la pagina Test Lab nella console Firebase e carica il file di script JSON e l'APK dell'applicazione.
Fai clic sul pulsante Continua. Ti viene chiesto di selezionare il dispositivo e il livello API. Al termine dello script per il test, Test Lab genera il report di test.
(Facoltativo) Per copiare o scaricare il logcat del report di test e il video, fai clic su Visualizza file di origine.
Per impostazione predefinita, i meccanismi di robustezza degli script Robo impediscono che si verifichino errori prematuri.
Se scegli la modalità di esecuzione strict e uno script Robo non riesce a un certo punto,
Test Lab abbandona tutti i passaggi successivi dello script e riprende una normale
scansione Robo. Nella maggior parte dei casi, gli script Robo non riescono perché Robo non riesce a trovare un elemento richiesto sullo schermo. Per evitare errori, assicurati che la navigazione dell'app sia prevedibile e che le schermate vengano visualizzate in un ordine deterministico.
Eseguire uno script Robo in Test Lab
Per eseguire uno script Robo in Test Lab, segui queste istruzioni:
Apri la pagina Test Lab nella console Firebase.
Carica l'APK o l'AAB dell'app nel campo APK o AAB dell'app.
Carica il file dello script Robo registrato o creato manualmente nel campo Script Robo (facoltativo).
Fornire uno script Robo a un'esecuzione di test Robo locale
Per fornire uno script Robo a un'esecuzione di test Robo locale, utilizza la seguente opzione di test Robo:
--robo-script-file <robo-script-path>
Sostituisci <robo-script-path> con un percorso del file dello script Robo nel file system locale. Segui le istruzioni per un'esecuzione di test Robo locale
run.
Specificare uno script Robo in una chiamata di test di gcloud CLI
Per specificare uno script Robo in una chiamata di test dell'interfaccia a riga di comando di gcloud, utilizza il seguente flag dell'interfaccia a riga di comando di gcloud:
--robo-script = <robo-script-path>
Sostituisci <robo-script-path> con un percorso del file dello script Robo nel file system locale
o in Cloud Storage utilizzando la notazione gs://. Ad esempio:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Passaggi successivi
- Per scoprire di più sulla struttura, le funzionalità, l'utilizzo e le azioni degli script Robo, consulta la guida di riferimento degli script Robo.
- Esegui un test Robo.