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 collector che può essere utilizzata in qualsiasi strumentazione AndroidJUnitRunner. BaseMetricListener può essere implementato per generare automaticamente report sulle metriche raccolte in un modo completamente compatibile con la pipeline di generazione di report di TradeFed.

Questa libreria è disaccoppiata da Tradefed e può essere utilizzata senza Tradefed.

Se utilizzi il programma di esecuzione AndroidJUnitTest di Tradefed, puoi specificare la seguente opzione a riga di comando per eseguire il collector con i test:

  --device-listeners android.device.collectors.ScreenshotListener
  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

Implementazione

Quando esegui l'implementazione sulla base della classe di base BaseMetricListener, puoi scegliere quando raccogliere le metriche durante il ciclo di vita dell'instrumentazione:

  • Quando inizia un'esecuzione di test: onTestRunStart
  • Quando inizia un caso 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 del dispositivo viene eseguita in modo sincrono con l'esecuzione stessa dell'instrumentazione e le metriche vengono ritrasmesse ai risultati dell'instrumentazione e analizzate da Tradefed per essere registrate nell'ambito dell'invocazione.