Pengumpulan metrik sisi perangkat

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

Untuk memenuhi kasus penggunaan ini, versi sisi perangkat kolektor kami dibuat dan dapat digunakan di semua 'AndroidJUnitRunner' instrumentasi. BaseMetricListener dapat diterapkan untuk otomatis melaporkan metrik yang dikumpulkan dengan cara yang sepenuhnya kompatibel dengan pipeline pelaporan Tradefed.

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

Jika Anda menggunakan 'AndroidJUnitTest' runner dari Tradefed, Anda cukup menentukan opsi baris perintah berikut agar kolektor Anda dapat berjalan dengan pengujian:

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

Implementasi

Saat mengimplementasikan di atas class dasar BaseMetricListener, Anda dapat memilih kapan Anda 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 pengujian yang dijalankan berakhir: onTestRunEnd

Interaksi

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