Raccolta metrica lato dispositivo

Quando si eseguono test lato dispositivo (strumentazioni, test UI Automator e così via), i raccoglitori lato host potrebbero non essere ideali perché è difficile sincronizzare la raccolta di parametri con un test in esecuzione su un dispositivo. Ad esempio, uno screenshot acquisito in modo asincrono molto probabilmente mancherà 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 può essere implementato per segnalare automaticamente le metriche raccolte in modo pienamente compatibile con la pipeline di reporting di Tradefed.

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

Se stai utilizzando il runner " AndroidJUnitTest " di Tradefed, puoi semplicemente specificare la seguente opzione della riga di comando per far funzionare il tuo raccoglitore con i tuoi 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 desideri raccogliere i tuoi parametri durante il ciclo di vita della strumentazione:

  • Quando inizia un'esecuzione di test: onTestRunStart
  • Quando inizia un test case: onTestStart
  • Quando un test case termina: onTestEnd
  • Quando un test case fallisce: onTestFail
  • Al termine dell'esecuzione di un test: onTestRunEnd

Interazione

La raccolta di parametri sul lato del dispositivo viene effettuata in modo sincrono con l'esecuzione della strumentazione stessa e i parametri vengono restituiti ai risultati della strumentazione e analizzati da Tradefed per essere segnalati come parte dell'invocazione.