Инструменты подготовки целевых устройств вызываются перед тестами на том уровне тестирования , на котором они определены. Это позволяет настроить любое устройство для бесперебойного выполнения тестов.
Базовый интерфейс
Базовый интерфейс — 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.
Обратите внимание, что хотя подготовительная программа запускается до модуля, она запускается после любых средств проверки состояния системы .