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.