Raccoglitori di metriche lato dispositivo

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.