Quando esegui test lato dispositivo (ad esempio, misurazioni, test UI Automator), i collezionisti lato host potrebbero non essere ideali perché è difficile sincronizzare la raccolta delle metriche con un test in esecuzione su un dispositivo. Ad esempio, è probabile che uno screenshot acquisito in modo asincrono non includa la schermata desiderata e sia inutile.
Per soddisfare questi casi d'uso, esiste una versione lato dispositivo dei nostri collector che può essere utilizzata in qualsiasi strumentazione AndroidJUnitRunner
.
BaseMetricListener
può essere implementato per generare automaticamente report sulle metriche raccolte
in un modo completamente compatibile con la pipeline di generazione di report di TradeFed.
Questa libreria è disaccoppiata da Tradefed e può essere utilizzata senza Tradefed.
Se utilizzi il programma di esecuzione AndroidJUnitTest
di Tradefed, puoi specificare la seguente opzione a riga di comando per eseguire il collector con i test:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Implementazione
Quando esegui l'implementazione sulla base della classe di base BaseMetricListener
, puoi scegliere quando raccogliere le metriche durante il ciclo di vita dell'instrumentazione:
- Quando inizia un'esecuzione di test:
onTestRunStart
- Quando inizia un caso di test:
onTestStart
- Al termine di un caso di test:
onTestEnd
- Quando uno scenario di test non va a buon fine:
onTestFail
- Al termine di un'esecuzione di test:
onTestRunEnd
Interazione
La raccolta delle metriche sul lato del dispositivo viene eseguita in modo sincrono con l'esecuzione stessa dell'instrumentazione e le metriche vengono ritrasmesse ai risultati dell'instrumentazione e analizzate da Tradefed per essere registrate nell'ambito dell'invocazione.