Esecuzione di un test Robo (Android)

Il test Robo è uno strumento di test integrato con Firebase Test Lab. Il test Robo analizza la struttura dell'interfaccia utente (UI) della tua app e poi la esplora metodicamente, simulando automaticamente le attività utente. Il test Robo simula sempre le stesse attività utente nello stesso ordine quando lo utilizzi per testare un'app su una configurazione dispositivo specifica con le stesse impostazioni. Questo approccio di test ripetibile ti consente di utilizzare il test Robo per convalidare le correzioni di bug e testare le regressioni.

Il test Robo acquisisce i file di log, salva una serie di screenshot annotati e poi crea un video da questi screenshot per mostrarti le operazioni utente simulate che ha eseguito. Questi log, screenshot e video possono aiutarti a determinare la causa principale degli arresti anomali dell'app. Queste funzionalità dei test Robo possono anche aiutarti a trovare problemi con la UI della tua app.

Oltre a eseguire i normali test Robo, puoi personalizzarli utilizzando gli script Robo, che sono una funzionalità dei test Robo. Per scoprire di più, consulta Esegui uno script Robo.

Se vuoi provare la versione beta di Robo per iOS+, consulta Esegui un test Robo.

Statistiche di scansione dei test Robo

Per aiutarti a interpretare i risultati del test Robo, il test Robo registra le statistiche durante ogni scansione di test. Test Lab mostra le statistiche nella parte superiore della scheda Test Robo nella pagina dei risultati del test:

  • Azioni: il numero totale di azioni eseguite durante la scansione, incluse le azioni degli script Robo, le azioni Monkey e le istruzioni Robo.

  • Attività: il numero di attività distinte coperte durante la scansione.

  • Schermate: il numero di schermate distinte visitate durante la scansione.

Test Lab utilizza le statistiche anche per creare una rappresentazione visiva del test Robo sotto forma di grafico di scansione. Il grafico ha le schermate come nodi e le azioni come archi. Seguendo i bordi tra le schermate, puoi farti un'idea di come il test Robo ha attraversato la tua app durante la scansione.

Timeout del test Robo

A seconda della complessità della UI della tua app, il test Robo potrebbe richiedere cinque minuti o più per completare un insieme completo di interazioni con la UI. Ti consigliamo di impostare il timeout del test su almeno 120 secondi (2 minuti) per la maggior parte delle app e su 300 secondi (5 minuti) per le app moderatamente complesse. Il valore predefinito per il timeout è 300 secondi (5 minuti) per i test eseguiti da Android Studio e dalla console Firebase e 900 secondi (15 minuti) per i test eseguiti dalla riga di comando gcloud.

Errori di timeout di avvio dell'app

Se l'app impiega molto tempo ad avviarsi, il test Robo può generare un errore e non sarà in grado di eseguire la scansione dell'app. Questo accade solo in caso di tempi di avvio estremamente lunghi e può essere risolto solo rivedendo l'app per velocizzarne l'avvio.

Maggiore controllo con gli script Robo

A volte hai bisogno di un maggiore controllo sui test. Ad esempio, potresti voler testare un percorso dell'utente comune o fornire un input UI specifico, come un nome utente e una password. Gli script Robo possono aiutarti. Per scoprire di più sugli script Robo, consulta Esegui uno script Robo e Guida di riferimento agli script Robo.

Test Robo e widget UI non Android

I test Robo utilizzano l'API Android per eseguire azioni direttamente sui widget della UI di Android. In questo modo, i test possono esplorare automaticamente la UI, ma significa anche che devono essere in grado di estrarre una gerarchia della UI di Android per una schermata per eseguire i test.

Se una schermata della tua app non utilizza i widget della UI di Android, i test Robo utilizzano le azioni Monkey per testare la schermata. A differenza delle azioni più metodiche del test Robo, le azioni Monkey simulano semplicemente gli eventi di tocco in posizioni semi-casuali sullo schermo di un dispositivo.

Per testare meglio le schermate che non utilizzano i widget dell'interfaccia utente di Android, puoi sostituire i tocchi arbitrari di un'azione Monkey con un insieme di tocchi e interazioni basati su script tramite test dei loop di gioco di Firebase Test Lab.

Integrazione con Google Play

Puoi utilizzare il test Robo in Google Play Console quando carichi e pubblichi il file APK della tua app utilizzando il canale alpha o beta. Il test Robo viene eseguito su un insieme di dispositivi fisici molto utilizzati in diverse posizioni geografiche, fornendo una copertura dei test su vari fattori di forma e configurazioni hardware. Per scoprire di più, consulta Utilizza i report pre-lancio per identificare i problemi.

Accesso all'account di test e input di testo predefinito

Il test Robo supporta l'accesso all'account di test e consente anche di inserire testo predefinito nei campi dell'app. Per l'accesso personalizzato e altri input di testo predefiniti, il test Robo può inserire testo nei campi EditText dell'app. Per ogni stringa, devi identificare il campo EditText utilizzando un nome della risorsa Android. Per saperne di più, consulta Accesso alle risorse.

Accedi

Il test Robo ha due metodi che si escludono a vicenda per supportare l'accesso:

  • Accesso personalizzato: se fornisci le credenziali dell'account di test, devi indicare al test Robo dove inserirle e fornire anche le credenziali.

  • Accesso automatico: se non fornisci le credenziali dell'account di test per l'accesso personalizzato, viene utilizzato l'accesso automatico. Il test Robo può accedere automaticamente alle app create con widget Android standard o alle applicazioni Compose utilizzando un Account Google di prova.

Per fornire le credenziali dell'account di test per l'accesso personalizzato:

  1. Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.

  2. In Credenziali dell'account di test (facoltativo), inserisci i nomi delle risorse del nome utente e della password, nonché il nome utente e la password dell'account di test.

Inserimento di testo predefinito

Puoi fornire un testo di input personalizzato per altri campi di testo utilizzati dalla tua app. Per fornire un input di testo per campi aggiuntivi, segui questi passaggi:

  1. Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.

  2. In Campi aggiuntivi (facoltativo), inserisci uno o più nomi di risorse e le stringhe da inserire nei campi di testo corrispondenti.

Errori di input di testo predefinito {:#predefined-text}

Il test Robo cerca i campi EditText con un nome della risorsa Android che corrisponde a un'espressione regolare fornita. Se Robo non riesce a trovare un campo corrispondente, non inserisce il testo, ma continua la scansione come di consueto.

Puoi fornire fino a tre deep link supportati dalla tua app per i test. I deep link vengono inviati alla tua app come intent Android ACTION_VIEW. Pertanto, ogni link deve corrispondere a un filtro per intent nella tua app.

Se vengono forniti uno o più deep link, l'app viene prima avviata normalmente (utilizzando l'intent ACTION_MAIN) e sottoposta a scansione fino al timeout specificato. Dopo la scansione principale, ogni deep link viene sottoposto a scansione per altri 30 secondi.

Se il test Robo non riesce a trovare un'attività corrispondente al tuo deep link, Test Lab ignora il link. I problemi relativi ai deep link sono solitamente il risultato di una discrepanza tra il deep link fornito e la sua definizione nella tua app. Controlla sia l'URL fornito sia la tua app per verificare la presenza di errori di battitura o altre incoerenze.

Assistenza per le licenze delle app

Test Lab supporta le app che utilizzano il servizio di licensing dell'app offerto da Google Play. Per verificare correttamente le licenze durante il test della tua app con Test Lab, devi pubblicare l'app nel canale di produzione nel Play Store. Per testare la tua app nel canale alpha o beta utilizzando Test Lab, rimuovi il controllo delle licenze prima di caricare l'app su Test Lab.

Passaggi successivi