Questa pagina fornisce assistenza per la risoluzione dei problemi e risposte alle domande frequenti sull'esecuzione di test con Firebase Test Lab. Vengono inoltre documentati 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 l'assistenza Firebase .
Risoluzione dei problemi
Quando selezioni un dispositivo con un livello di capacità elevato nel catalogo Test Lab, i test potrebbero avviarsi 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 può richiedere più tempo.
I test in esecuzione su 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 esiste un'infrastruttura segnalata per Test Lab, consulta la dashboard sullo 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 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 di infrastruttura più volte prima di segnalare 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 di Test Lab nel canale #test-lab su Firebase Slack.
Lo sharding può prolungare l'esecuzione dei test quando il numero di shard specificato supera il numero di dispositivi disponibili per l'uso in Test Lab. Per evitare questa situazione, prova a passare a un altro dispositivo. Per ulteriori informazioni sulla scelta di un dispositivo diverso, vedereCapacità dispositivo .
Quando invii una richiesta di test, la tua app viene prima convalidata, rifirmata e così via in preparazione dell'esecuzione dei test su un dispositivo. Normalmente, questo processo viene completato in meno di pochi secondi, ma può essere influenzato da fattori come le dimensioni della tua app.
Dopo che l'app è stata preparata, le esecuzioni dei test vengono pianificate e rimangono in coda fino a quando un dispositivo non è pronto per eseguirla. Fino al termine dell'esecuzione di tutte le esecuzioni di test, lo stato della matrice sarà "In sospeso" (indipendentemente dal fatto che le esecuzioni di test siano in coda o in esecuzione attiva).
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 standard di Firebase, 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 ha una quota di test fissa senza alcun costo per gli utenti. Per il piano Blaze, le quote potrebbero aumentare se l'utilizzo di Google Cloud aumenta nel tempo. Se raggiungi la tua quota di test, attendi fino al giorno successivo o esegui l'upgrade al piano Blaze se sei attualmente nel piano Spark. Se sei già nel piano Blaze, puoi richiedere un aumento della quota. Per ulteriori informazioni, consulta Testare la quota .
Puoi monitorare l'utilizzo della tua quota di test in Google Cloud Console .
Quota dell'API Cloud Testing
L'API Cloud Testing prevede due limiti di quota: richieste al giorno per progetto e richieste ogni 100 secondi per progetto. Puoi monitorare il tuo utilizzo in Google Cloud Console .
Quota dell'API dei 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 è impostata al massimo per impostazione predefinita) oppure
Richiedi quote API più elevate compilando un modulo di richiesta in Google Cloud Console o contattando l'assistenza Firebase .
Dal tuo back-end, puoi determinare se il traffico proviene da dispositivi di test ospitati da 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 artefatti di test tra l'archiviazione interna di Test Lab e i bucket dei risultati degli utenti. Al momento, è stata presentata una richiesta di funzionalità per aggiungere il supporto VPC-SC in una versione futura.
Per rilevare il comportamento instabile nei tuoi test, ti consigliamo di utilizzare--num-flaky-test-attemptsopzione. Le ripetizioni di Deflake vengono fatturate o conteggiate nella quota giornaliera allo stesso modo delle normali esecuzioni di test.
Tieni presente quanto segue:
- L'intera esecuzione del test viene eseguita di nuovo quando viene rilevato un errore. Non c'è supporto per riprovare solo i casi di test falliti.
- Le esecuzioni dei 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 nella nostra tabella di marcia, al momento non siamo in grado di impegnarci a supportare queste piattaforme di test e sviluppo di app.
Le informazioni dettagliate sul dispositivo sono disponibili tramite l'API e sono accessibili dal client gcloud utilizzando il comando describe :
gcloud firebase test ios models describe MODEL
Lo sharding non è supportato in modo nativo all'interno di Test Lab per iOS. Tuttavia, puoi utilizzare il client Flank per partizionare casi di test iOS.
Funziona impostando la chiave e i valori OnlyTestIdentifiers
nel file .xctestrun
. Vedere la pagina man
per xcodebuild.xctestrun
per maggiori dettagli.