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à degli utenti. Il test Robo simula sempre le stesse attività utente nello stesso ordine quando lo utilizzi per testare un'app su una specifica configurazione del dispositivo 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 delle app. Queste funzionalità di Robo test possono anche aiutarti a trovare problemi con la UI della tua app.

Oltre a eseguire test Robo regolari, puoi personalizzare i test utilizzando gli script Robo, una funzionalità dei test Robo. Per scoprire di più, vedi 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 registra le statistiche durante ogni scansione. 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 dello script Robo, le azioni casuali e le 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 anche le statistiche 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 frecce. Seguendo i bordi tra le schermate, puoi farti un'idea di come il test Robo ha attraversato la tua app durante la scansione.

Timeout test Robo

A seconda della complessità della UI della tua app, il test Robo potrebbe richiedere cinque minuti o più per completare una serie completa 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 all'avvio dell'app

Se l'avvio dell'app richiede molto tempo, il test Robo può generare un errore e non sarà in grado di eseguire la scansione dell'app. Questo si verifica solo in caso di tempi di avvio estremamente lunghi e può essere risolto solo modificando 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 utente comune o fornire input specifici dell'interfaccia utente, come un nome utente e una password. Gli script Robo possono aiutarti. Per saperne di più sugli script Robo, consulta Eseguire 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 UI di Android. In questo modo, i test possono esplorare automaticamente la tua UI, ma devono anche essere in grado di estrarre una gerarchia della UI di Android per una schermata per poter eseguire i test.

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

Per testare meglio le schermate che non utilizzano widget UI Android, puoi sostituire i tocchi arbitrari di un'azione Monkey con una serie di tocchi e interazioni programmati tramite i test Ciclo di gioco.Firebase Test Lab

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 alpha o beta. Il Robo test viene eseguito su un insieme di dispositivi fisici più utilizzati in diverse posizioni geografiche, fornendo una copertura dei test su vari fattori di forma e configurazioni hardware. Per saperne di più, consulta la pagina Utilizzare i report pre-lancio per identificare i problemi.

Testare l'accesso all'account e l'inserimento di testo predefinito

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

Accedi

Il test Robo ha due metodi reciprocamente esclusivi per supportare l'accesso:

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

  • Accesso automatico: se la tua app ha una schermata di accesso che utilizza un Account Google per l'autenticazione, il test Robo utilizza un Account Google di prova, 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:

  1. Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.

  2. In Credenziali dell'account di test (facoltativo), inserisci i nomi delle risorse nome utente e 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 l'input di testo per campi aggiuntivi:

  1. Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.

  2. Nella sezione 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 di 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 link diretti supportati dalla tua app per i test. I link diretti vengono emessi per la tua app come intent ACTION_VIEW Android. Pertanto, ogni link deve corrispondere a un filtro per intent nella tua app.

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

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

Assistenza per le licenze delle app

Test Lab supporta le app che utilizzano il servizio Gestione licenze app offerto da Google Play. Per verificare correttamente la licenza durante il test dell'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 della licenza prima di caricare l'app su Test Lab.

Passaggi successivi