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 raccoglitori
e può essere utilizzato in qualsiasi strumentazione AndroidJUnitRunner
.
BaseMetricListener
può essere implementata per generare report
automatici sulle metriche raccolte
in modo del tutto compatibile con la
pipeline di reporting di Tradefed.
Questa libreria è disaccoppiata da Tradefed e può essere utilizzata senza Tradefed.
Se utilizzi AndroidJUnitTest
runner di Tradefed, puoi specificare la seguente opzione della riga di comando
per eseguire i test sul raccoglitore:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Implementazione
Quando implementi la classe base BaseMetricListener
, puoi scegliere
se vuoi raccogliere le tue metriche durante il ciclo di vita
strumentazione:
- Quando inizia un'esecuzione di test:
onTestRunStart
- Quando viene avviato uno scenario 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 dispositivo viene effettuata in modo sincrono della strumentazione stessa e le metriche vengono restituite i risultati della strumentazione e analizzati da Tradefed per essere inclusi nel report invocazione.