Приготовители мишеней

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

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

Базовый интерфейс — 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 , который является настройкой верхнего уровня для тестов Android Compatibility Test Suite (CTS).

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

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

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