Saat menjalankan pengujian sisi perangkat (misalnya, instrumentasi, pengujian UI Automator), pengumpul sisi host mungkin tidak ideal karena sulit untuk menyinkronkan pengumpulan metrik dengan 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 sisi perangkat dari pengumpul kami 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 tidak terkait dengan Tradefed itu sendiri dan dapat digunakan tanpa Tradefed.
Jika Anda menggunakan runner AndroidJUnitTest
dari Tradefed, Anda dapat menentukan opsi command line berikut
agar pengumpul berjalan dengan pengujian Anda:
--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 Anda ingin mengumpulkan metrik selama siklus proses
instrumentasi:
- Saat uji coba dimulai:
onTestRunStart
- Saat kasus pengujian dimulai:
onTestStart
- Saat kasus pengujian berakhir:
onTestEnd
- Jika kasus pengujian gagal:
onTestFail
- Saat uji coba berakhir:
onTestRunEnd
Interaksi
Pengumpulan metrik di sisi perangkat dilakukan secara serentak dengan eksekusi instrumentasi itu sendiri, dan metrik dikirim kembali ke hasil instrumentasi dan diuraikan oleh Tradefed untuk dilaporkan sebagai bagian dari pemanggilan.