設備端指標收集

在運行設備端測試(儀器、UI Automator 測試等)時,主機端收集器可能並不理想,因為很難將指標收集與設備上運行的測試同步。例如,異步截取的屏幕截圖很可能會錯過想要的屏幕並且無用。

為了滿足這些用例,我們的收集器的設備端版本存在並且可以在任何“AndroidJUnitRunner”工具中使用。可以實施BaseMetricListener以自動報告以與 Tradefed 報告管道完全兼容的方式收集的指標。

該庫與 Tradefed 本身分離,可以在沒有 Tradefed 的情況下使用。

如果您使用的是 Tradefed 的“ AndroidJUnitTest ”運行程序,您只需指定以下命令行選項即可讓您的收集器與您的測試一起運行:

  --device-listeners android.device.collectors.ScreenshotListener

注意:為了在運行時解析收集器類,您的檢測 APK 很可能需要通過將以下內容添加到您的 makefile 來靜態包含它們:

  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

執行

在基類BaseMetricListener上實現時,您可以選擇在儀器生命週期內何時收集指標:

  • 測試運行開始時: onTestRunStart
  • 當一個測試用例開始時: onTestStart
  • 當一個測試用例結束時: onTestEnd
  • 當測試用例失敗時: onTestFail
  • 測試運行結束時: onTestRunEnd

相互作用

設備端的指標收集與檢測執行本身同步進行,指標被傳遞回檢測結果並由 Tradefed 解析,以作為調用的一部分進行報告。