Целевые составители

Подготовители целевых объектов вызываются перед тестами на уровне теста, на котором они определены. Это позволяет настроить любое устройство для бесперебойного запуска тестов.

Базовый интерфейс

Базовый интерфейс – ITargetPreparer, который позволяет реализовать метод setUp для выполнения. Рекомендуем реализовать наш базовый абстрактный класс BaseTargetPreparer, который предоставляет встроенную функцию отключения, позволяющую легко отключить средство подготовки.

Более простой интерфейс

Естественным расширением setUp является tearDown, который предоставляется другим интерфейсом – ITargetCleaner. Это позволяет интерфейсу tearDown очистить все, что было сделано в setUp после выполнения теста.

Класс BaseTargetPreparer также расширяет ITargetCleaner.

Рекомендации

Мы рекомендуем, чтобы каждый подготовитель выполнял только одну основную функцию, например устанавливал APK или выполнял команду. Это упрощает повторное использование подготовителей.

Также проверьте список доступных составителей, прежде чем добавлять нового, чтобы избежать дублирования работы. Подготовители доступны в tools/tradefederation/core/src/com/android/tradefed/targetprep/.

Конфигурация XML

Тег объекта – target_preparer, например:

<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
    <option name="install-arg" value="-d"/>
</target_preparer>

Дополнительную информацию можно найти в статье Как настроить пакеты.

Настройка на верхнем уровне

Если он указан в настройках верхнего уровня, то запускается только один раз для каждого устройства. Пример: cts-common.xml – настройка верхнего уровня для тестов Compatibility Test Suite (CTS) для Android.

Настройка на уровне модуля

Если он указан на уровне модуля, то всегда запускается перед этим модулем. Пример: backup/AndroidTest.xml, который определяет, как Tradefed запускает модуль CTS backup.

Обратите внимание, что подготовитель запускается до модуля, но после любых проверок статуса системы.