Используйте контроллеры модулей

Каждый модуль пакета (определенный в 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>

ПРИМЕЧАНИЕ: Реализация контроллеров должна быть по возможности универсальной, чтобы максимизировать повторное использование. И пропуск модуля на основе его состояния должен быть рассмотрен владельцем модуля, чтобы получить одобрение, что пропуск модуля является правильным поведением для него.