Coletores de métricas no dispositivo

Ao executar testes no lado do dispositivo (por exemplo, instrumentações, UI Automator) de teste), os coletores do lado do host podem não ser ideais porque é difícil sincronizar a coleta de métricas com um teste em execução em um dispositivo; Por exemplo, captura de tela feita de forma assíncrona provavelmente não mostrará a tela desejada e será inúteis.

Para atender a esses casos de uso, existe uma versão dos nossos coletores no dispositivo que pode ser usada em qualquer instrumentação AndroidJUnitRunner. O BaseMetricListener pode ser implementado para informar automaticamente as métricas coletadas de maneira totalmente compatível com o pipeline de relatórios do Tradefed.

Esta biblioteca é separada do próprio Tradefed e pode ser usada sem o Tradefed.

Se você estiver usando o AndroidJUnitTest da Tradefed, especifique a opção de linha de comando a seguir para executar o coletor com seus testes:

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

Implementação

Ao implementar na classe base BaseMetricListener, você pode escolher quando quer coletar as métricas durante o ciclo de vida da instrumentação:

  • Quando uma execução de teste é iniciada: onTestRunStart
  • Quando um caso de teste começa: onTestStart
  • Quando um caso de teste termina: onTestEnd
  • Quando um caso de teste falha: onTestFail
  • Quando uma execução de teste termina: onTestRunEnd

Interação

A coleta de métricas no dispositivo é feita de forma síncrona com o a execução da instrumentação em si, e as métricas são retornadas ao de instrumentação e analisados pelo Tradefed para serem informados como parte do invocação.