每個套件模組 (由 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>
注意:如要盡量提高重複使用率,控制器實作應盡可能採用泛型。根據條件略過模組時,應由模組擁有者審查,確認略過模組是適當的行為。