檢查系統狀態

系統狀態檢查工具 (SSC) 是在套件層級設定所定義。 在每個模組之間執行他們會執行檢查來判斷模組是否變更 且並未還原特定狀態,例如變更系統屬性 值。

SSC 主要用於確保模組寫入者不會忘記清除所用資源 測試後如果可以的話,請提供證明可以處理。

而次要用途就是盡可能還原原始狀態,例如: 如果鍵盤目前保持開啟,則關閉鍵盤。

系統狀態檢查工具 XML 定義

<system_checker class="com.android.tradefed.suite.checker.KeyguardStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.LeakedThreadStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.SystemServerStatusChecker" />

智慧購物廣告活動 (SSC) 定義於交易設定中的 system_checker 標記下方 XML

實作

所有智慧型購物廣告活動 (SSC) 都必須導入 ISystemStatusChecker 介面 提供了 preExecutionCheckpostExecutionCheck 這兩種主要方法 都會在執行每個模組的前後執行

檢查工具可以只導入兩者之一,或實作 這兩種情形會需要先檢查模組的狀態 再進行比較 分別在模組後方顯示狀態

多個範例 導入方式 目前與所交易公司之間的關聯建議每項導入作業都建議著重於單一檢查 以提升重複使用性例如: SystemServerStatusCheck敬上 檢查期間是否在裝置上重新啟動 system_server 程序 測試套件執行在 postExecutionCheck 中,它會呼叫 deviceSoftRestartedNativeDevice敬上 檢查 system_server 程序是否已重新啟動。

每項作業都會傳回 StatusCheckerResult、 控管團隊可判斷是否要提供其他資訊,例如錯誤報告 。

CTS 中的定義在哪裡?

CTS 系統狀態檢查工具的定義如下: /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml

如何找出檢查工具失敗情形

根據預設,系統檢查工具故障時,只會顯示在記錄和錯誤報告中 已擷取用於叫用的例項,其名稱採用下列格式 bugreport-checker-post-module-<module name>.zip

這樣就能瞭解錯誤報告的產生模組後,

您可以透過下列方式將系統檢查工具回報為測試失敗 將 --report-system-checkers 選項設為 true。這樣一來, 測試執行顯示為失敗,且失敗原因為狀態檢查工具 或特定檢查