Zbieracze danych po stronie urządzenia

Podczas testów po stronie urządzenia (np. przyrządów, interfejsu UI Automator) ), kolektory po stronie hosta mogą nie być idealne, ponieważ trudno jest synchronizować zbieranie danych z testem uruchomionym na urządzeniu. Na przykład plik zrzut ekranu zrobiony asynchronicznie prawdopodobnie nie wyświetli się na ekranie i zostanie bezużyteczny.

Aby sprostać tym przypadkom użycia, istnieje wersja kolektorów po stronie urządzenia Można go używać w dowolnej instrumentacji usługi AndroidJUnitRunner. BaseMetricListener można wdrożyć w celu automatycznego raportowania zbieranych danych w sposób w pełni zgodny z procesem raportowania Tradefed.

Ta biblioteka jest odłączona od organizacji Tradefed i można jej używać bez tej platformy.

Jeśli używasz AndroidJUnitTest z Tradefed, możesz podać następującą opcję wiersza poleceń aby uruchomić kolektor podczas testów:

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

Implementacja

Implementując klasę podstawową BaseMetricListener, możesz wybrać gdy chcesz gromadzić dane w trakcie cyklu życia instrumentacja:

  • Kiedy uruchamia się test: onTestRunStart
  • Kiedy uruchamia się przypadek testowy: onTestStart
  • Po zakończeniu przypadku testowego: onTestEnd
  • Gdy przypadek testowy zakończy się niepowodzeniem: onTestFail
  • Po zakończeniu testu: onTestRunEnd

Interakcja

Zbieranie wskaźników po stronie urządzenia jest synchroniczne samego wykonania instrumentacji, a wskaźniki są przekazywane z powrotem do z wyników instrumentacji i analizowanych przez Tradefed .