Raccoglitori di metriche lato dispositivo

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.