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