每個套件模組 (由 AndroidTest.xml
定義) 都可以包含特殊的 module_controller
物件,用來變更模組的部分行為:
是否根據某些條件執行模組
實作 BaseModuleController,並將其新增至 AndroidTest.xml
,如下所示:
<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />
模組控制器會根據 public abstract RunStrategy shouldRun(IInvocationContext context);
實作方式,判斷是否應執行模組。
是否要在發生錯誤時收集部分記錄
執行完整套件時,您可以在套件層級要求收集某些失敗記錄 (螢幕截圖、錯誤報告、Logcat)。但對於某些模組而言,要求特定記錄可能沒有任何價值,而且收集這些記錄只會浪費時間。在這種情況下,模組可以明確指定所需記錄:
<object type="module_controller"
class="com.android.tradefed.testtype.suite.module.TestFailureModuleController">
<option name="screenshot-on-failure" value="<true OR false>" />
<option name="bugreportz-on-failure" value="<true OR false>" />
<option name="logcat-on-failure" value="<true OR false>" />
</object>
注意:請盡可能實作通用控制器,以便最大限度地提高可重複使用性。根據條件略過模組時,模組擁有者應審查略過模組是否為適當行為,並取得核准。