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

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

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

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

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

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

Выполнение

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

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

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

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