Esegui un test Robo (Android)

Robo test è uno strumento di test integrato con Firebase Test Lab. Robo test analizza la struttura dell'interfaccia utente (UI) della tua app e poi la esplora metodicamente, simulando automaticamente le attività dell'utente. Robo test simula sempre le stesse attività dell'utente nello stesso ordine quando lo utilizzi per testare un'app su una configurazione di 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.

Robo test acquisisce file di registro, salva una serie di screenshot annotati e quindi crea un video da tali screenshot per mostrare le operazioni utente simulate eseguite. Questi registri, schermate e video possono aiutarti a determinare la causa principale degli arresti anomali dell'app. Queste funzionalità di test di Robo possono anche aiutarti a individuare problemi con l'interfaccia utente della tua app.

Oltre a eseguire i normali test Robo, puoi personalizzare i tuoi test utilizzando gli script Robo, che sono una funzionalità dei test Robo. Per ulteriori informazioni, consulta Eseguire uno script Robo .

Se vuoi provare la versione Beta di Robo per iOS+, consulta Eseguire un test Robo .

Statistiche di scansione del test Robo

Per aiutarti a interpretare i risultati del test Robo, il test Robo registra le statistiche durante ogni scansione del test. Test Lab visualizza 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 azioni script Robo, azioni scimmia e direttive 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 schermi come nodi e azioni come bordi. Seguendo i bordi tra le schermate, puoi avere un'idea di come il test Robo ha attraversato la tua app durante la scansione.

Timeout del test Robo

A seconda della complessità dell'interfaccia utente della tua app, il test Robo potrebbe richiedere cinque minuti o più per completare una serie completa di interazioni dell'interfaccia utente. 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'avvio della tua app impiega molto tempo, Robo test può generare un errore e non sarà in grado di eseguire la scansione della tua app. Questo accade solo in caso di tempi di avvio estremamente lunghi e può essere risolto solo rivedendo l'app per farla avviare più velocemente.

Maggiore controllo con gli script Robo

A volte è necessario un maggiore controllo sui test. Ad esempio, potresti voler testare un percorso utente comune o fornire input dell'interfaccia utente specifici come nome utente e password. Gli script Robo possono aiutare. Per ulteriori informazioni sugli script Robo, consulta Esegui uno script Robo e la Guida di riferimento degli script Robo .

Test Robo e widget dell'interfaccia utente non Android

I test Robo utilizzano l'API Android per eseguire azioni direttamente sui widget dell'interfaccia utente Android. Ciò aiuta i test a esplorare automaticamente la tua interfaccia utente, ma significa anche che devono essere in grado di estrarre una gerarchia dell'interfaccia utente Android per uno schermo per poter eseguire test su di esso.

Se una schermata nella tua app non utilizza i widget dell'interfaccia utente Android, i test Robo ricorrono a Monkey Actions per testare quella schermata. A differenza delle più metodiche azioni di test Robo, Monkey Actions simula semplicemente eventi di tocco su posizioni semi-casuali sullo schermo di un dispositivo.

Per testare meglio le schermate che non utilizzano i widget dell'interfaccia utente Android, puoi sostituire i tocchi arbitrari di un'azione scimmia con una serie di tocchi e interazioni con script tramite Firebase Test Lab Game Loop Tests .

Integrazione con Google Play

Puoi utilizzare Robo test in Google Play Console quando carichi e pubblichi il file APK della tua app utilizzando il canale alfa o beta. Il test Robo viene eseguito su una serie di dispositivi fisici popolari provenienti da diverse posizioni geografiche, fornendo copertura di test su vari fattori di forma e configurazioni hardware. Per ulteriori informazioni, consulta Utilizzare i report pre-lancio per identificare i problemi .

Prova l'accesso all'account e l'immissione di testo predefinito

Robo test supporta l'accesso all'account di prova e ti consente anche di inserire testo predefinito nei campi della tua app. Per l'accesso personalizzato e altri input di testo predefiniti, Robo test può inserire testo nei campi EditText nella tua app. Per ogni stringa è necessario identificare il campo EditText utilizzando un nome di risorsa Android. Per ulteriori informazioni, vedere Accesso alle risorse .

Registrazione

Robo test dispone di due metodi mutuamente esclusivi per supportare l'accesso:

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

  • Accesso automatico: se la tua app dispone di una schermata di accesso che utilizza un account Google per l'autenticazione, Robo test utilizza un account di prova Google, a meno che tu non fornisca le credenziali dell'account di prova per l'accesso personalizzato.

Per fornire le credenziali dell'account di prova per l'accesso personalizzato, procedi come segue:

  1. Nella pagina Seleziona dimensioni , scegli Opzioni aggiuntive .

  2. In Credenziali dell'account di prova (facoltativo) immettere i nomi delle risorse nome utente e password, nonché il nome utente e la password per l'account di prova.

Inserimento di testo predefinito

Puoi fornire testo di input personalizzato per altri campi di testo utilizzati dalla tua app. Per fornire input di testo per campi aggiuntivi, procedi come segue:

  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 inserimento testo predefinito {:#testo-predefinito}

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

Puoi fornire fino a tre link diretti supportati dalla tua app per i test. I collegamenti diretti vengono emessi alla tua app come intent Android ACTION_VIEW . Pertanto, ogni collegamento deve corrispondere a un filtro di intenti nella tua app.

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

Se Robo test non riesce a trovare un'attività corrispondente al tuo collegamento diretto, Test Lab ignora il collegamento. I problemi relativi al collegamento diretto sono in genere il risultato di una discrepanza tra il collegamento diretto fornito e la sua definizione nella tua app. Controlla sia l'URL fornito che la tua app per eventuali errori di battitura o altre incoerenze.

Supporto per la licenza dell'app

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

Prossimi passi