Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Struttura di alto livello della configurazione XML tradefed

Le configurazioni di Tradefed seguono una struttura XML per descrivere il test da eseguire e le fasi di preparazione / configurazione da eseguire.

In teoria, tutto può essere definito nell'XML per un singolo comando. Ma in pratica, è più pratico disporre di file XML modello di base e personalizzarli con parametri della riga di comando aggiuntivi.

Struttura

<configuration description="<description of the configuration>">
    <!-- A build provider that takes local device information -->
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <!-- Some target preparation, disabled by default -->
    <target_preparer class="com.android.tradefed.targetprep.PreloadedClassesPreparer">
        <option name="disable" value="true" />
    </target_preparer>

    <!-- One test running some unit tests -->
    <test class="com.android.tradefed.testtype.HostTest">
        <option name="class" value="com.android.tradefed.build.BuildInfoTest" />
    </test>

    <!-- [OPTIONAL] -->
    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level" value="VERBOSE" />
        <option name="log-level-display" value="VERBOSE" />
    </logger>

    <!-- [OPTIONAL] -->
    <log_saver class="com.android.tradefed.result.FileSystemLogSaver" />

    <!-- As many reporters as we want -->
    <result_reporter class="com.android.tradefed.result.ConsoleResultReporter" />
    <result_reporter class="com.android.tradefed.result.suite.SuiteResultReporter" />
    <result_reporter class="com.android.tradefed.result.MetricsXMLResultReporter"/>
</configuration>

L'XML Tradefed globale è delimitato dai tag <configuration> . Tradefed objects sono definiti nei propri tag, ad esempio: build_provider , target_preparer , test , ecc. I loro scopi individuali sono descritti in maggior dettaglio nella sezione Architettura .

Ogni oggetto ha la classe Java associata all'oggetto definito in class= che viene risolto in fase di runtime; quindi finché il file JAR contenente la classe si trova sul classpath Java Tradefed durante l'esecuzione, verrà trovato e risolto.

Ordini di oggetti commerciati

L'ordine dei diversi tag non ha importanza. Ad esempio, non fa differenza se build_provider viene specificato dopo target_preparer . Il flusso dell'invocazione del test è imposto dal cablaggio stesso, quindi li chiamerà sempre nell'ordine corretto.

L'ordine degli oggetti con lo stesso tag è importante . Ad esempio, due oggetti target_preparer definiti verranno chiamati nell'ordine di definizione nell'XML. È importante comprenderlo in quanto può modificare lo stato finale della configurazione del dispositivo. Ad esempio, lampeggiare e poi installare un apk non sarebbe la stessa cosa che installare un apk e lampeggiare poiché il flash cancellerebbe il dispositivo.