Raccoglitori di metriche lato dispositivo

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.