Cihaz tarafı metrik toplama

Cihaz tarafı testleri (araçlar, UI Automator testleri vb.) çalıştırırken, metrik koleksiyonunu bir cihazda çalışan bir testle senkronize etmek zor olduğundan, ana bilgisayar tarafındaki toplayıcılar ideal olmayabilir. Örneğin, eşzamansız olarak alınan bir ekran görüntüsü büyük olasılıkla istenen ekranı kaçıracak ve işe yaramaz hale gelecektir.

Bu kullanım durumlarını karşılamak için toplayıcılarımızın cihaz tarafı bir sürümü mevcuttur ve herhangi bir 'AndroidJUnitRunner' enstrümantasyonunda kullanılabilir. BaseMetricListener, toplanan ölçümleri Tradefed raporlama hattıyla tamamen uyumlu bir şekilde otomatik olarak raporlamak için uygulanabilir.

Bu kütüphane Tradefed'den ayrılmıştır ve Tradefed olmadan kullanılabilir.

Tradefed'in ' AndroidJUnitTest ' çalıştırıcısını 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 belirtmeniz yeterlidir:

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

Uygulama

BaseMetricListener temel sınıfının üstüne uygulama yaparken, enstrümantasyonun yaşam döngüsü boyunca metriklerinizi ne zaman toplamak istediğinizi seçebilirsiniz:

  • Bir test çalıştırması başladığında: onTestRunStart
  • Bir test senaryosu başladığında: onTestStart
  • Bir test senaryosu sona erdiğinde: onTestEnd
  • Bir test senaryosu başarısız olduğunda: onTestFail
  • Bir test çalıştırması sona erdiğinde: onTestRunEnd

Etkileşim

Cihaz tarafındaki metriklerin toplanması, enstrümantasyon uygulamasının kendisiyle eşzamanlı olarak yapılır ve metrikler, enstrümantasyon sonuçlarına geri aktarılır ve çağrının bir parçası olarak raporlanmak üzere Tradefed tarafından ayrıştırılır.