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

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

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