Il test Robo è uno strumento di test integrato con Firebase Test Lab. Il test Robo analizza la struttura dell'interfaccia utente (UI) dell'app e la esplora metodicamente, simulando automaticamente le attività dell'utente. Quando utilizzi il test Robo per testare un'app su una configurazione di dispositivo specifica con le stesse impostazioni, questo simula sempre le stesse attività dell'utente nello stesso ordine. 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à del test Robo possono anche aiutarti a trovare problemi con l'interfaccia utente dell'app.
Oltre a eseguire i normali test Robo, puoi personalizzare i test utilizzando gli script Robo, una funzionalità dei test Robo. Per saperne di più, 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, questo strumento registra le statistiche durante ogni scansione di test. Test Lab mostra le statistiche nella parte superiore della scheda Test Robo nella pagina dei risultati dei 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 bordi. Seguendo i bordi tra le schermate, puoi farti un'idea di come il test Robo ha attraversato l'app durante la scansione.
Timeout del test Robo
A seconda della complessità dell'interfaccia utente dell'app, il test Robo potrebbe richiedere cinque minuti o più per completare una serie completa di interazioni con l'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 è di 300 secondi (5 minuti) per i test eseguiti da Android Studio e
dalla Firebase console e di 900 secondi (15 minuti) per i test eseguiti dalla
gcloud riga di comando.
Errori di timeout di 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 accade 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 è necessario 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 la 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 Android. In questo modo, i test possono esplorare automaticamente l'interfaccia utente, ma significa anche che devono essere in grado di estrarre una gerarchia UI Android per una schermata per poter eseguire i test.
Se una schermata dell'app non utilizza i widget UI Android, i test Robo ricorrono alle azioni casuali per testare la schermata. A differenza delle azioni di test Robo più metodiche, le azioni casuali 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 UI Android, puoi sostituire i tocchi arbitrari di un'azione casuale con una serie di tocchi e interazioni tramite Firebase Test Lab test del ciclo di gioco.
Integrazione con Google Play
Puoi utilizzare il test Robo in Google Play Console quando carichi e pubblichi il file APK dell'app utilizzando il canale alfa o beta. Il test Robo viene eseguito su un insieme di dispositivi fisici più diffusi in diverse località geografiche, fornendo una copertura di test su vari fattori di forma e configurazioni hardware. Per saperne di più, consulta Utilizzare 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 ti 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
EditText
campi dell'app. Per ogni stringa, devi identificare il EditText campo
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 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 i widget Android standard o alle applicazioni Compose utilizzando un Account Google di test.
Per fornire le credenziali dell'account di test per l'accesso personalizzato:
Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.
In Credenziali dell'account di test (facoltativo), inserisci i nomi delle risorse di nome utente e password e il nome utente e la password dell'account di test.
Input di testo predefinito
Puoi fornire testo di input personalizzato per altri campi di testo utilizzati dall'app. Per fornire input di testo per campi aggiuntivi:
Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.
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 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.
Link diretti
Puoi fornire fino a tre link diretti
supportati dalla tua app per i test.
I link diretti vengono inviati alla tua app come intent
ACTION_VIEW
di 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'
ACTION_MAIN
intent) e sottoposta a scansione fino al timeout specificato. Dopo la scansione principale, ogni link diretto viene sottoposto a scansione per altri 30 secondi.
Errori dei link diretti
Se il test Robo non riesce a trovare un'attività che corrisponde al 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.
Supporto per le licenze delle app
Test Lab supporta le app che utilizzano il servizio di licenze delle app offerto da Google Play. Per controllare 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 l'app nel canale alfa o beta utilizzando Test Lab, rimuovi il controllo delle licenze prima di caricare l'app in Test Lab.
Passaggi successivi
- Personalizza i test utilizzando gli script Robo.