TF 中的Build Info是一個廣泛使用的對象,用於攜帶用於測試設置和運行的資源。從設備圖像到測試 APK 的所有內容都存儲或鏈接在要查找的構建信息中。這允許以統一的方式從測試中訪問測試資源,並將測試與獲取測試資源分離。
構建信息屬性
構建信息對象的兩個主要屬性是屬性和文件:
- 屬性- 可以通過
#addBuildAttribute()
添加;它們代表構建的標籤和字符串信息。屬性可用於存儲與構建相關的信息。 - 文件:可以通過
setFile()
添加;該文件將在調用生命週期期間由 Build Info 跟踪和管理(例如,在分片期間正確處理)。這避免了測試需要了解有關文件系統的任何信息,而是可以簡單地依賴抽象的 Build Info 對象來獲取它們的資源。
注意:文件應始終存儲在Files
中,而不是作為絕對路徑存儲在Attributes
中。屬性被視為純 Java 字符串,並且引用可能在調用生命週期的一部分期間失效。
在多設備中構建信息
當使用多個設備設置測試配置時,每個設備將存在一個 Build Info 對象。這允許從一台設備向另一台設備請求和定位文件。
多構建中的構建信息
可能需要來自多個目標的構建。在這些情況下,每個目標將存在一個 Build Info 對象。這允許從任何目標請求和定位文件。
原型格式
Build Info 可以以 protobuf 格式序列化,以便在需要時更輕鬆地跨系統使用。