Pengumpul metrik sisi perangkat

Saat menjalankan pengujian sisi perangkat (misalnya, instrumentasi, pengujian UI Automator), kolektor sisi host mungkin tidak ideal karena sulit untuk menyinkronkan pengumpulan metrik ke pengujian yang berjalan di perangkat. Misalnya, screenshot yang diambil secara asinkron kemungkinan akan melewatkan layar yang diinginkan dan tidak berguna.

Untuk memenuhi kasus penggunaan ini, versi pengumpulan kami di sisi perangkat ada dan dapat digunakan dalam instrumentasi AndroidJUnitRunner apa pun. BaseMetricListener dapat diterapkan untuk melaporkan metrik yang dikumpulkan secara otomatis dengan cara yang sepenuhnya kompatibel dengan pipeline pelaporan Tradefed.

Library ini dipisahkan dari Tradefed itu sendiri dan dapat digunakan tanpa Tradefed.

Jika menggunakan runner AndroidJUnitTest dari Tradefed, Anda dapat menentukan opsi command line berikut agar kolektor berjalan dengan pengujian:

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

Implementasi

Saat menerapkan di atas class dasar BaseMetricListener, Anda dapat memilih kapan ingin mengumpulkan metrik selama siklus proses instrumentasi:

  • Saat pengujian dimulai: onTestRunStart
  • Saat kasus pengujian dimulai: onTestStart
  • Saat kasus pengujian berakhir: onTestEnd
  • Jika kasus pengujian gagal: onTestFail
  • Saat operasi pengujian berakhir: onTestRunEnd

Interaksi

Pengumpulan metrik di sisi perangkat dilakukan secara sinkron dengan eksekusi instrumentasi itu sendiri, dan metrik diteruskan kembali ke hasil instrumentasi dan diuraikan oleh Tradefed untuk dilaporkan sebagai bagian dari pemanggilan.