Cihaz tarafı testleri (ör. enstrümantasyonlar, UI Automator testleri) çalıştırılırken, metrik toplama işlemini cihazda çalışan bir testle senkronize etmek zor olduğundan ana makine tarafı toplayıcılar ideal olmayabilir. Örneğin, eşzamansız olarak alınan bir ekran görüntüsünde istenen ekranın olmaması ve bu ekran görüntüsünün işe yaramaması olasıdır.
Bu kullanım alanlarını karşılamak için toplayıcılarımızın cihaz tarafı sürümü mevcuttur ve herhangi bir AndroidJUnitRunner
enstrümantasyonunda kullanılabilir.
BaseMetricListener
Ticari test çerçevesi raporlama hattıyla tamamen uyumlu bir şekilde toplanan metrikleri otomatik olarak raporlamak için uygulanabilir.
Bu kitaplık, Tradefed'den bağımsızdır ve Tradefed olmadan kullanılabilir.
Tradefed'den AndroidJUnitTest
çalıştırıcıyı kullanıyorsanız toplayıcınızın testlerinizle birlikte çalışmasını sağlamak için aşağıdaki komut satırı seçeneğini belirtebilirsiniz:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Uygulama
Temel sınıf BaseMetricListener
üzerine uygulama yaparken enstrümentasyonun yaşam döngüsü boyunca metriklerinizi ne zaman toplamak istediğinizi seçebilirsiniz:
- Test çalıştırması başladığında:
onTestRunStart
- Bir test durumu başladığında:
onTestStart
- Bir test durumu sona erdiğinde:
onTestEnd
- Bir test durumu başarısız olduğunda:
onTestFail
- Test çalıştırması sona erdiğinde:
onTestRunEnd
Etkileşim
Cihaz tarafındaki metriklerin toplanması, enstrüman yürütme işlemiyle eşzamanlı olarak yapılır. Metrikler, enstrüman sonuçlarına geri aktarılır ve Tradefed tarafından ayrıştırılarak çağırma işleminin bir parçası olarak raporlanır.