Сборщики метрик на стороне устройства

При выполнении тестов на стороне устройства (например, инструментальных тестов, тестов UI Automator) сборщики данных на стороне хоста могут быть не идеальным вариантом, поскольку сложно синхронизировать сбор метрик с тестом, выполняемым на устройстве. Например, снимок экрана, сделанный асинхронно, скорее всего, не попадет на нужный экран и окажется бесполезным.

Для решения этих задач существует версия наших сборщиков метрик для использования на стороне устройства, которую можно применять в любой среде инструментирования AndroidJUnitRunner . BaseMetricListener можно использовать для автоматической отправки метрик, собранных способом, полностью совместимым с конвейером отчетности Tradefed.

Эта библиотека не связана с самой системой Tradefed и может использоваться без неё.

Если вы используете средство запуска AndroidJUnitTest от Tradefed, вы можете указать следующий параметр командной строки, чтобы запустить сборщик тестов:

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

Выполнение

При реализации поверх базового класса BaseMetricListener вы можете выбрать, когда именно вы хотите собирать метрики в течение жизненного цикла инструментария:

  • Когда начинается выполнение теста: onTestRunStart
  • Когда начинается тестовый случай: onTestStart
  • Когда завершается тестовый случай: onTestEnd
  • Когда тестовый случай завершается неудачей: onTestFail
  • Когда завершается выполнение теста: onTestRunEnd

Взаимодействие

Сбор метрик на стороне устройства осуществляется синхронно с самим выполнением инструментирования, а метрики передаются обратно в результаты инструментирования и анализируются Tradefed для последующего формирования отчета в рамках вызова.