使用模塊控制器

每個套件模組(由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>

注意:如果可能的話,控制器的實作應該是通用的,以便最大限度地提高可重複使用性。根據模組的條件跳過模組應由模組所有者進行審核,以獲得跳過模組對他們來說是正確行為的批准。