Preparadores de objetivos

Los preparadores de destino se invocan antes de las pruebas en el nivel de prueba en el que se definen. Esto permite configurar cualquier dispositivo para que se ejecuten pruebas sin problemas.

Interfaz base

La interfaz base es ITargetPreparer, que permite que se ejecute la implementación de un método setUp. Mié se recomienda implementar nuestra clase abstracta básica BaseTargetPreparer: que brinda una función integrada de inhabilitación para inhabilitar fácilmente un preparador.

Interfaz más limpia

La extensión natural de setUp es tearDown y la proporciona una API diferente. interfaz, ITargetCleaner que proporciona la interfaz tearDown que permite limpiar todo lo que se haya hecho en setUp después de la prueba. ejecución.

La clase BaseTargetPreparer también extiende ITargetCleaner.

Recomendaciones

Recomendamos que cada preparador se limite a una sola función principal, por ejemplo instalar un APK o ejecutar un comando. Esto facilita la reutilización de de preparación de datos.

Consulta también la lista de preparados disponibles antes de agregar uno nuevo a evitar la duplicación del trabajo. Los preparadores están disponibles en tools/tradefederation/core/src/com/android/tradefed/targetprep/.

Configuración de XML

La etiqueta del objeto es target_preparer, por ejemplo:

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

Consulta también Configurar paquetes para dar contexto.

Configuración de nivel superior

Si se especifica en una configuración de nivel superior, el preparador se ejecuta solo una vez para cada dispositivo. Un ejemplo es cts-common.xml: que es una configuración de nivel superior para las pruebas del Conjunto de pruebas de compatibilidad (CTS) de Android.

Configuración a nivel de módulo

Si se especifica a nivel del módulo, el preparador siempre se ejecuta antes de ese módulo. Un ejemplo es backup/AndroidTest.xml: que define cómo Tradefed ejecuta el módulo backup del CTS.

Ten en cuenta que, si bien el preparador se ejecuta antes que el módulo, se ejecuta después de cualquier verificadores de estado del sistema.