每個套件模組 (由 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);
實作方式,判斷是否應執行模組。
是否在失敗時收集某些記錄
執行完整套件時,您可以在套件層級要求收集某些失敗記錄 (螢幕截圖、bugreport、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>
注意:請盡可能實作通用控制器,以便盡可能提高可重複使用的程度。根據條件略過模組時,模組擁有者應審查略過模組是否為適當行為,並取得核准。