Saat menjalankan pengujian sisi perangkat (instrumentasi, pengujian UI Automator, dll.), pengumpul sisi host mungkin tidak ideal karena sulit untuk menyinkronkan kumpulan metrik ke pengujian yang berjalan di perangkat. Misalnya, tangkapan layar yang diambil secara tidak sinkron kemungkinan besar akan melewatkan layar yang diinginkan dan tidak berguna.
Untuk memenuhi kasus penggunaan ini, versi sisi perangkat dari kolektor kami ada dan dapat digunakan di instrumentasi 'AndroidJUnitRunner' apa pun. BaseMetricListener dapat diimplementasikan untuk melaporkan metrik yang dikumpulkan secara otomatis dengan cara yang sepenuhnya kompatibel dengan alur pelaporan Tradefed.
Pustaka ini dipisahkan dari Tradefed itu sendiri dan dapat digunakan tanpa Tradefed.
Jika Anda menggunakan runner ' AndroidJUnitTest ' dari Tradefed, Anda cukup menentukan opsi baris perintah berikut agar kolektor Anda berjalan dengan pengujian Anda:
--device-listeners android.device.collectors.ScreenshotListener
PERHATIAN: Agar kelas kolektor diselesaikan saat waktu proses, APK instrumentasi Anda kemungkinan besar perlu menyertakannya secara statis dengan menambahkan yang berikut ke makefile Anda:
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Penerapan
Saat menerapkan di atas kelas dasar BaseMetricListener
, Anda dapat memilih kapan Anda ingin mengumpulkan metrik Anda selama siklus hidup instrumentasi:
- Saat uji coba dimulai:
onTestRunStart
- Saat kasus uji dimulai:
onTestStart
- Saat kasus uji berakhir:
onTestEnd
- Saat kasus uji gagal:
onTestFail
- Saat uji coba berakhir:
onTestRunEnd
Interaksi
Kumpulan metrik di sisi perangkat dibuat secara sinkron ke eksekusi instrumentasi itu sendiri, dan metrik diteruskan kembali ke hasil instrumentasi dan diuraikan oleh Tradefed untuk dilaporkan sebagai bagian dari pemanggilan.