Quando esegui test lato dispositivo (ad esempio, strumentazioni, test UI Automator), i raccoglitori lato host potrebbero non essere ideali perché è difficile sincronizzare la raccolta di metriche con un test in esecuzione su un dispositivo. Ad esempio, è probabile che uno screenshot acquisito in modo asincrono non mostri la schermata desiderata e sia quindi inutile.
Per soddisfare questi casi d'uso, esiste una versione lato dispositivo dei nostri raccoglitori che può essere utilizzata in qualsiasi strumentazione AndroidJUnitRunner.
BaseMetricListener
può essere implementato per segnalare automaticamente le metriche raccolte
in modo completamente compatibile con la pipeline di reporting di Tradefed.
Questa libreria è separata da Tradefed e può essere utilizzata senza Tradefed.
Se utilizzi il AndroidJUnitTest
runner di Tradefed, puoi specificare la seguente opzione della riga di comando
per eseguire l'agente di raccolta con i test:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Implementazione
Quando esegui l'implementazione sulla classe base BaseMetricListener, puoi scegliere quando raccogliere le metriche durante il ciclo di vita della strumentazione:
- Quando inizia un'esecuzione di test:
onTestRunStart - Quando inizia un caso di test:
onTestStart - Quando termina un caso di test:
onTestEnd - Quando un caso di test non va a buon fine:
onTestFail - Quando termina un'esecuzione di test:
onTestRunEnd
Interazione
La raccolta di metriche lato dispositivo viene eseguita in modo sincrono con l'esecuzione della strumentazione stessa e le metriche vengono restituite ai risultati della strumentazione e analizzate da Tradefed per essere segnalate come parte della chiamata.