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.