Geräteseitige Messwerterfassung

Beim Ausführen geräteseitiger Tests (z. B. Instrumentierungen, UI Automator) Tests), sind hostseitige Collectors möglicherweise nicht ideal, da es schwierig ist, Die Messwerterfassung wird mit einem Test synchronisiert, der auf einem Gerät ausgeführt wird. Beispiel: asynchron aufgenommene Screenshots wahrscheinlich nicht den gewünschten Bildschirm nutzlos.

Für diese Anwendungsfälle gibt es eine geräteseitige Version unserer Collectors und kann in jeder AndroidJUnitRunner-Instrumentierung verwendet werden. BaseMetricListener können implementiert werden, um automatisch Berichte zu erfassten Messwerten zu erstellen. und vollständig kompatibel mit der Tradefed-Berichts-Pipeline sein.

Diese Bibliothek ist von Tradefed selbst entkoppelt und kann ohne Tradefed verwendet werden.

Wenn Sie die AndroidJUnitTest verwenden Runner von Tradefed haben, können Sie die folgende Befehlszeilenoption angeben damit der Collector mit den Tests ausgeführt wird:

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

Implementierung

Bei der Implementierung zusätzlich zur Basisklasse BaseMetricListener können Sie Folgendes auswählen: wenn Sie Ihre Messwerte während des Lebenszyklus des Instrumentierung:

  • Zu Beginn eines Testlaufs: onTestRunStart
  • Zu Beginn eines Testfalls: onTestStart
  • Wenn ein Testlauf endet: onTestEnd
  • Wenn ein Testlauf fehlschlägt: onTestFail
  • Wenn ein Test abgeschlossen ist: onTestRunEnd

Interaktion

Die Erhebung der Messwerte auf Geräteseite erfolgt synchron mit der Ausführung der Instrumentierung. Die Messwerte werden an die Instrumentierungsergebnisse zurückgegeben und von Tradefed analysiert, um als Teil der Aufrufe erfasst zu werden.