Questa pagina fornisce assistenza per la risoluzione dei problemi e risposte alle domande frequenti sull'esecuzione di test con Firebase Test Lab. Vengono documentati anche i problemi noti. Se non riesci a trovare quello che stai cercando o hai bisogno di ulteriore aiuto, unisciti al canale #test-lab su Firebase Slack o contatta il supporto Firebase .
Risoluzione dei problemi
Quando selezioni un dispositivo con un livello di capacità elevato nel catalogo Test Lab, i test potrebbero iniziare più velocemente. Quando un dispositivo ha una capacità ridotta, l'esecuzione dei test potrebbe richiedere più tempo. Se il numero di test richiamati è molto maggiore della capacità dei dispositivi selezionati, il completamento dei test potrebbe richiedere più tempo.
I test eseguiti a qualsiasi livello di capacità del dispositivo potrebbero richiedere più tempo a causa dei seguenti fattori:
- Traffico, che influisce sulla disponibilità del dispositivo e sulla velocità del test.
- Guasti del dispositivo o dell'infrastruttura, che possono verificarsi in qualsiasi momento. Per verificare se è presente un'infrastruttura segnalata per Test Lab, consulta la dashboard dello stato di Firebase .
Per ulteriori informazioni sulla capacità del dispositivo in Test Lab, consulta le informazioni sulla capacità del dispositivo per Android e iOS .
I risultati dei test inconcludenti si verificano comunemente a causa di esecuzioni di test annullate o di errori dell'infrastruttura.
Gli errori dell'infrastruttura sono causati da problemi interni del laboratorio di test, come errori di rete o comportamenti imprevisti del dispositivo. Test Lab ritira internamente le esecuzioni di test che producono errori infrastrutturali più volte prima di riportare un risultato inconcludente; tuttavia, puoi disabilitare questi tentativi utilizzando failFast .
Per determinare la causa dell'errore, attenersi alla seguente procedura:
- Verifica la presenza di interruzioni note nella dashboard dello stato di Firebase .
Riprovare il test in Test Lab per verificare che sia riproducibile.
Prova a eseguire il test su un dispositivo o tipo di dispositivo diverso, se applicabile.
Se il problema persiste, contatta il team Test Lab nel canale #test-lab su Firebase Slack.
Lo sharding può far sì che i test vengano eseguiti più a lungo quando il numero di shard specificati supera il numero di dispositivi disponibili per l'uso in Test Lab. Per evitare questa situazione, prova a passare a un dispositivo diverso. Per ulteriori informazioni sulla scelta di un dispositivo diverso, consulta Capacità del dispositivoCapacità del dispositivo .
Quando invii una richiesta di test, la tua app viene prima convalidata, firmata nuovamente, ecc. in preparazione all'esecuzione dei test su un dispositivo. Normalmente, questo processo viene completato in meno di pochi secondi, ma può essere influenzato da fattori come la dimensione della tua app.
Dopo che l'app è stata preparata, le esecuzioni dei test vengono pianificate e rimangono in coda finché un dispositivo non è pronto per eseguirlo. Fino al termine dell'esecuzione di tutte le esecuzioni dei test, lo stato della matrice sarà "In sospeso" (indipendentemente dal fatto che le esecuzioni dei test siano in coda o attivamente in esecuzione).
Al termine dell'esecuzione del test, gli artefatti del test vengono scaricati dal dispositivo, elaborati e caricati su Cloud Storage. La durata di questo passaggio può essere influenzata dalla quantità e dalle dimensioni degli artefatti.
Domande frequenti
Firebase Test Lab offre quote gratuite per i test sui dispositivi e per l'utilizzo delle API cloud. Tieni presente che la quota di test utilizza il piano tariffario Firebase standard, mentre le quote dell'API Cloud no.
Quota di test
Le quote di test sono determinate dal numero di dispositivi utilizzati per eseguire i test. Il piano Firebase Spark prevede una quota di test fissa senza alcun costo per gli utenti. Per il piano Blaze, le tue quote potrebbero aumentare se l'utilizzo di Google Cloud aumenta nel tempo. Se raggiungi la quota di test, attendi fino al giorno successivo o esegui l'upgrade al piano Blaze se attualmente utilizzi il piano Spark. Se hai già il piano Blaze puoi richiedere un aumento della quota. Per ulteriori informazioni, consulta Quota di test .
Puoi monitorare l'utilizzo della quota di test in Google Cloud Console .
Quota API Cloud Testing
L'API Cloud Testing prevede due limiti di quota: richieste giornaliere per progetto e richieste ogni 100 secondi per progetto. Puoi monitorare il tuo utilizzo in Google Cloud Console .
Quota API Risultati di Cloud Tool
L'API Cloud Tool Results prevede due limiti di quota: query al giorno per progetto e query ogni 100 secondi per progetto. Puoi monitorare il tuo utilizzo in Google Cloud Console .
Per ulteriori informazioni sui limiti API, fai riferimento a Quote API Cloud per Test Lab . Se hai raggiunto una quota API:
Invia una richiesta per quote più elevate modificando le tue quote direttamente in Google Cloud Console (tieni presente che la maggior parte dei limiti sono impostati sul massimo per impostazione predefinita) oppure
Richiedi quote API più elevate compilando un modulo di richiesta nella console Google Cloud o contattando l'assistenza Firebase .
Dal tuo backend, puoi determinare se il traffico proviene da dispositivi di test ospitati su Firebase confrontando l'indirizzo IP di origine con i nostri intervalli IP .
Test Lab non funziona con VPC-SC, che blocca la copia di app e altri elementi di test tra la memoria interna di Test Lab e i bucket dei risultati degli utenti.
Per rilevare comportamenti instabili nei test, ti consigliamo di utilizzare l'opzione--num-flaky-test-attempts. Le repliche di Deflake vengono fatturate o conteggiate ai fini della quota giornaliera come le normali esecuzioni dei test.
Tieni presente quanto segue:
- L'intera esecuzione del test viene eseguita nuovamente quando viene rilevato un errore. Non è disponibile alcun supporto per riprovare solo i casi di test non riusciti.
- Le esecuzioni dei nuovi tentativi di Deflake sono pianificate per essere eseguite contemporaneamente, ma non è garantito che vengano eseguite in parallelo, ad esempio, quando il traffico supera il numero di dispositivi disponibili.
Sebbene alcuni di questi elementi siano presenti nella nostra tabella di marcia, al momento non siamo in grado di impegnarci a supportare queste piattaforme di test e di sviluppo di app.
Le informazioni dettagliate sul dispositivo sono disponibili tramite l'API ed è possibile accedervi dal client gcloud utilizzando il comando description :
gcloud firebase test ios models describe MODEL
Lo sharding non è supportato in modo nativo in Test Lab per iOS. Tuttavia, puoi utilizzare il client Flank per partizionare i casi di test iOS.
Funziona impostando la chiave e i valori OnlyTestIdentifiers
nel file .xctestrun
. Per ulteriori dettagli, consultare la pagina man
di xcodebuild.xctestrun
.
Problemi conosciuti
Il test Robo non può ignorare le schermate di accesso che richiedono ulteriori azioni da parte dell'utente oltre all'immissione delle credenziali per l'accesso, ad esempio il completamento di un CAPTCHA.
Il test Robo funziona meglio con le app che utilizzano elementi dell'interfaccia utente del framework dell'interfaccia utente Android (inclusi oggetti View
, ViewGroup
e WebView
). Se utilizzi il test Robo per esercitare app che utilizzano altri framework dell'interfaccia utente, incluse le app che utilizzano il motore di gioco Unity, il test potrebbe terminare senza esplorare oltre la prima schermata.