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

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

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

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

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

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

Выполнение

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

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

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

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