Cihaz tarafı metrik toplayıcılar

Cihaz tarafı testleri (örneğin, araçlar, UI Automator testleri) çalıştırırken, metrik toplama işlemini bir cihazda çalışan 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ünün istenen ekranı kaçırması ve işe yaramaması olasıdır.

Bu kullanım alanlarını karşılamak için toplayıcılarımızın cihaz tarafında bir sürümü mevcuttur ve herhangi bir AndroidJUnitRunner enstrümantasyonunda kullanılabilir. BaseMetricListener, toplanan metrikleri Tradefed raporlama ardışık düzeniyle tamamen uyumlu bir şekilde otomatik olarak raporlamak için uygulanabilir.

Bu kitaplık, Tradefed'in kendisinden ayrılmıştır ve Tradefed olmadan kullanılabilir.

Tradefed'den AndroidJUnitTest çalıştırıcısını kullanıyorsanız toplayıcınızı testlerinizle birlikte çalıştırmak 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'ün üzerine uygularken, enstrümantasyonun yaşam döngüsü sırasında metriklerinizi ne zaman toplamak istediğinizi seçebilirsiniz:

  • Test çalıştırması başladığında: onTestRunStart
  • Bir test kaydı başladığında: onTestStart
  • Bir test senaryosu 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ında metrik toplama işlemi, enstrümantasyon yürütme işlemiyle senkronize bir şekilde yapılır. Metrikler, enstrümantasyon sonuçlarına geri aktarılır ve çağrının bir parçası olarak raporlanmaları için Tradefed tarafından ayrıştırılır.