Testare automaticamente le app per Android

Questa guida descrive come distribuire automaticamente le build ai tester utilizzando la App Distribution funzionalità di tester automatico nella console Firebase. La funzionalità Automated Tester fornisce uno strumento di smoke test sempre pronto e facile da usare per la tua app.

Prima di iniziare

Se non lo hai già fatto, aggiungi Firebase al tuo progetto Android.

Se non utilizzi altri prodotti Firebase, devi solo creare un progetto e registrare la tua app. Tuttavia, se decidi di utilizzare altri prodotti in futuro, assicurati di completare tutti i passaggi descritti in Aggiungere Firebase utilizzando la console Firebase.

Quando è tutto pronto per distribuire una versione pre-release della tua app ai tester, compila l'APK utilizzando la normale procedura. Devi firmare l'APK con la chiave di debug o la chiave di firma dell'app.

Distribuisci l'app a Automated Tester utilizzando la Console Firebase

Per distribuire l'app ad Automated Tester, carica il file APK utilizzando la consoleFirebase:

  1. Apri la App Distribution pagina della Console Firebase. Seleziona il tuo progetto Firebase quando richiesto.
  2. Nella pagina Release, seleziona l'app che vuoi distribuire dal menu a discesa.
  3. Trascina il file APK dell'app nella console per caricarlo.
  4. Al termine del caricamento, seleziona Tester automatico nella barra di ricerca Aggiungi tester o gruppi.
  5. Per personalizzare il test automatico, fai clic sull'icona Modifica e seleziona le personalizzazioni nella finestra di dialogo Personalizza il test automatico.
  6. (Facoltativo) Nella finestra di dialogo Configurazione del dispositivo, seleziona il livello API, l'orientamento del dispositivo e le impostazioni internazionali che soddisfano le specifiche di test.
  7. (Facoltativo) Fai clic sul menu a discesa Credenziali di accesso per creare un nome utente e una password personalizzati che possono essere utilizzati durante il test se la tua app richiede credenziali di accesso.
  8. Fai clic su Distribuisci. Puoi anche aggiungere una nota di rilascio facoltativa per la tua app.

Distribuisci la tua app a Automated Tester utilizzando l'interfaccia a riga di comando di Firebase

Esegui il comando appdistribution:distribute per caricare l'app e distribuirla ai tester. Utilizza i seguenti parametri per configurare la distribuzione della funzionalità Automated Tester:

opzioni appdistribution:distribute
--test-devices o --test-devices-file

I dispositivi di test a cui vuoi distribuire le build alla funzionalità Automated Tester.

Puoi specificare i dispositivi di test come elenco separato da punto e virgola:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di dispositivi di test separati da due punti:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

Il nome utente per l'accesso automatico da utilizzare durante i test automatici.

--test-password o --test-password-file

La password per l'accesso automatico da utilizzare durante i test automatici.

In alternativa, puoi specificare il percorso di un file di testo normale contenente una password:

--test-password-file: "/path/to/test-password.txt"
--test-username-resource

Nome della risorsa per il campo del nome utente per l'accesso automatico da utilizzare durante i test automatici.

--test-password-resource

Nome della risorsa per il campo della password per l'accesso automatico da utilizzare durante i test automatici.

--test-non-blocking

Esegui test automatici in modo asincrono. Per i risultati dei test automatici, visita la Console Firebase.

Per saperne di più su come iniziare a utilizzare l'interfaccia a riga di comando di Firebase e sui diversi modi per configurare la distribuzione, consulta Distribuire app per Android ai tester utilizzando l'interfaccia a riga di comando di Firebase.

Distribuire l'app a Automated Tester utilizzando Gradle

Puoi configurare App Distribution aggiungendo almeno una sezione firebaseAppDistribution e utilizzando i seguenti parametri per configurare la distribuzione della funzionalità di Automated Tester:

App Distribution Parametri di compilazione
testDevices o testDevicesFile

I dispositivi di test a cui vuoi distribuire le build utilizzando i test automatici.

Puoi specificare i dispositivi di test come elenco di specifiche del dispositivo separate da un punto e virgola

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

In alternativa, puoi specificare il percorso di un file contenente un elenco di specifiche del dispositivo separate da due punti:

testDevicesFile="/path/to/testDevices.txt"
testUsername

Il nome utente per l'accesso automatico da utilizzare durante i test automatici.

testUsernameResource

Nome della risorsa per il campo del nome utente per l'accesso automatico da utilizzare durante i test automatici.

testPassword o testPasswordFile

La password per l'accesso automatico da utilizzare durante i test automatici.

In alternativa, puoi specificare il percorso di un file di testo normale contenente una password:

testPasswordFile="/path/to/testPassword.txt"
testPasswordResource

Nome della risorsa per il campo della password per l'accesso automatico da utilizzare durante i test automatici.

testNonBlocking

Esegui test automatici in modo asincrono. Visita la console di FireBase per i risultati del test automatico.

Per ulteriori informazioni su come iniziare a utilizzare Gradle e sui diversi modi per configurare la distribuzione, consulta Distribuire app per Android ai tester utilizzando Gradle.

Distribuisci la tua app a Automated Tester utilizzando fastlane

In una corsia ./fastlane/Fastfile, aggiungi un blocco firebase_app_distribution. Utilizza i seguenti parametri per configurare la distribuzione della funzionalità Automated Tester:

Parametri firebase_app_distribution
test_devices o test_devices_file

I dispositivi di test a cui vuoi distribuire le build alla funzionalità Automated Tester. Puoi specificare i dispositivi di test come elenco separato da punto e virgola:

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di dispositivi di test separati da due punti:

test_devices_file: "/path/to/test-devices.txt"
test_username

Il nome utente per l'accesso automatico da utilizzare durante i test automatici.

test_password o test_password_file

La password per l'accesso automatico da utilizzare durante i test automatici.

In alternativa, puoi specificare il percorso di un file di testo normale contenente una password:

test_password_file: "/path/to/test-password.txt"
test_username_resource

Nome della risorsa per il campo del nome utente per l'accesso automatico da utilizzare durante i test automatici.

test_password_resource

Nome della risorsa per il campo della password per l'accesso automatico da utilizzare durante i test automatici.

test_non_blocking

Esegui test automatici in modo asincrono. Visita la console di FireBase per i risultati del test automatico.

Per ulteriori informazioni su come iniziare a utilizzare fastlane e sui diversi modi per configurare la distribuzione, consulta Distribuire app per Android ai tester utilizzando fastlane.

Stati della scansione del test automatico

Per aiutarti a interpretare i risultati del test, la scheda Risultati del test automatico mostra eventuali problemi di test, screenshot dell'app e un video della scansione del test per ogni dispositivo. Lo stato del test è disponibile nella pagina dei risultati del test:

Stato scansione Descrizione
In attesa Il test automatico è ancora in esecuzione e i risultati saranno disponibili a breve.
Riuscito Il test automatico ha eseguito correttamente la scansione dell'app e non ha rilevato arresti anomali.
Non riuscito Il test automatico non è riuscito perché l'app ha subito un arresto anomalo durante il test.
Inconcludente Il test automatico non è riuscito a causa di errori dell'infrastruttura.