Quando esegui test lato dispositivo (ad esempio, test di strumentazione, UI Automator), i raccoglitori lato host potrebbero non essere ideali perché è difficile sincronizzare la raccolta delle metriche con un test in esecuzione su un dispositivo. Ad esempio, uno screenshot acquisito in modo asincrono probabilmente non mostrerà la schermata desiderata e sarà inutile.
Per soddisfare questi casi d'uso, esiste una versione lato dispositivo dei nostri raccoglitori
che può essere utilizzata in qualsiasi strumentazione AndroidJUnitRunner
.
BaseMetricListener
possono essere implementati per generare automaticamente report sulle metriche raccolte
in modo completamente compatibile con la pipeline di generazione dei report di Tradefed.
Questa libreria è separata da Tradefed e può essere utilizzata senza Tradefed.
Se utilizzi il runner AndroidJUnitTest
di Tradefed, puoi specificare la seguente opzione della riga di comando per eseguire il raccoglitore con i test:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Implementazione
Quando implementi la classe di base BaseMetricListener
, puoi scegliere
quando raccogliere le metriche durante il ciclo di vita
della strumentazione:
- Quando inizia un'esecuzione del test:
onTestRunStart
- All'inizio di uno scenario di test:
onTestStart
- Al termine di uno scenario di test:
onTestEnd
- Quando uno scenario di test non va a buon fine:
onTestFail
- Al termine di un test:
onTestRunEnd
Interazione
La raccolta delle metriche lato dispositivo viene eseguita in modo sincrono con l'esecuzione dell'instrumentation stessa e le metriche vengono restituite ai risultati dell'instrumentation e analizzate da Tradefed per essere segnalate come parte dell'invocazione.