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, quindi la esplora metodicamente, simulando automaticamente le attività utente. Test Robo simula sempre le stesse attività utente nello stesso ordine quando la utilizzi testare un'app su una specifica configurazione del dispositivo con le stesse impostazioni. Questo ripetibile ti consente di usare il test Robo per convalidare correzioni di bug e test di regressione.
Il test Robo acquisisce i file di log, salva una serie di screenshot annotati e poi crea un video a partire da questi screenshot per mostrare le operazioni simulate dell'utente che ha eseguito. Questi log, screenshot e video possono aiutarti a determinare la causa principale degli arresti anomali dell'app. Queste funzionalità di Robo test possono anche per aiutarti a individuare i problemi con l'UI della tua app.
Oltre a eseguire test Robo regolari, puoi personalizzare i test utilizzando gli script Robo, che sono una funzionalità dei test Robo. Per scoprire di più, consulta la sezione Eseguire uno script Robo.
Se vuoi provare la versione beta di Robo per iOS+, consulta Eseguire un robot Test.
Statistiche di scansione del test Robo
Per aiutarti a interpretare i risultati del test Robo, il test Robo registra le statistiche durante a ogni scansione di prova. 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, tra cui azioni dello script Robo, azioni casuali 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 usa le statistiche anche per creare una rappresentazione visiva del robot 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 test Robo
A seconda della complessità dell'interfaccia utente della tua app, il test Robo potrebbe richiedere almeno cinque minuti per completare un insieme completo 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 è 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 Firebase.
Errori di timeout all'avvio dell'app
Se l'avvio dell'app richiede molto tempo, il test Robo può restituire un errore e non verrà in grado di eseguire la scansione dell'app. Ciò si verifica solo in caso di avvii estremamente lunghi e può essere risolto solo tramite la revisione dell'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 input specifici nell'interfaccia utente come un nome utente password. Gli script Robo possono aiutarti. Per ulteriori informazioni sugli script Robo, consulta Eseguire un Script Robo e riferimento agli script Robo .
Test Robo e widget UI non Android
I test Robo usano l'API Android per eseguire azioni sui widget UI Android . Ciò consente ai test di esplorare automaticamente l'interfaccia utente, ma significa anche che devono essere in grado di estrarre una gerarchia dell'interfaccia utente di Android per una schermata per poter eseguire test al suo interno.
Se una schermata dell'app non utilizza i widget dell'interfaccia utente di Android, i test Robo si basano Azioni scimmia per testare la schermata. A differenza delle azioni di test Robo più metodiche, le azioni Monkey simulano semplicemente gli eventi di tocco in posizioni semicasuali sullo schermo di un dispositivo.
Per testare meglio le schermate che non utilizzano widget UI Android, puoi sostituire i pulsanti arbitrari di un'azione Monkey con un insieme di interazioni e tocchi basati su script tramite i Firebase Test Lab test di ciclo di gioco.
Integrazione con Google Play
Puoi usare il test Robo in Google Play Console quando carichi Pubblica il file APK della tua app utilizzando il canale Alpha o Beta. Il Robo test viene eseguito su un insieme di dispositivi fisici di uso comune in diverse località geografiche, fornendo una copertura dei test su vari fattori di forma e configurazioni hardware. Per saperne di più, vedi Utilizza i report pre-lancio per identificare i problemi.
Testa l'accesso all'account e l'input di testo predefinito
Il test Robo supporta l'accesso all'account di test e consente anche di inserire
nei campi dell'app. Per accesso personalizzato e altro testo predefinito
l'input, il test Robo può inserire testo
EditText
campi dell'app. Per ogni stringa devi identificare il campo EditText
utilizzando un nome risorsa Android. Per saperne di più, vedi
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 prova, devi indicare a Robo Test dove inserirle e fornire anche le 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 test per l'accesso personalizzato:
Nella pagina Seleziona dimensioni, scegli Opzioni aggiuntive.
In Credenziali dell'account di test (facoltativo), inserisci i nomi delle risorse nome utente e password e il nome utente e la password per l'account di test.
Input di testo predefinito
Puoi fornire testo di input personalizzato per altri campi di testo utilizzati dalla tua app. Per fornire un input di testo per altri campi:
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 {:#predefined-text} input di testo predefinito
Il test Robo cerca i campi EditText
con un nome 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 al solito.
Link diretti
Puoi fornire fino a tre link diretti
supportate dalla tua app per i test.
I link diretti vengono forniti alla tua app come Android
ACTION_VIEW
intent. Di conseguenza, ogni link deve corrispondere a un filtro per intent nella tua app.
Se vengono forniti uno o più link diretti, l'app viene inizialmente 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.
Errori relativi ai link diretti
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 generalmente il risultato di una discrepanza tra il link diretto fornito e la relativa definizione nella tua app. Controlla entrambi l'URL fornito e la tua app per errori di battitura o altre incongruenze.
Assistenza per le licenze delle app
Test Lab supporta le app che utilizzano Licenze delle app servizio offerto da Google Play. Per verificare correttamente le licenze durante il test della tua app con Test Lab, devi pubblicarla 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 caricarla su Test Lab.
Passaggi successivi
- Personalizza i test utilizzando gli script Robo.