Tradefed XML yapılandırmasının üst düzey yapısı

Tradefed'in yapılandırmaları, çalıştırılacak testi açıklayan bir XML yapısı izler. ve yapılacak hazırlık/kurulum adımlarına değineceğiz.

Teoride her şey tek bir komutla XML içinde tanımlanabilir. Ancak pratikte, temel şablon XML dosyalarına sahip olmak ve bunları ek komut satırı parametreleriyle özelleştirmek daha pratiktir.

Yapı

<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>

Genel Tradefed XML'i <configuration> etiketleriyle ayrılır. Tradefed objects kendi etiketlerinde tanımlanır. Örneğin: build_provider, target_preparer, test vb. Bireysel amaçları daha ayrıntılı olarak açıklanmıştır. Mimari'de daha ayrıntılı bölümüne bakın.

Her nesne, class= içinde tanımlanan nesneyle ilişkilendirilmiş Java sınıfına sahiptir sorunları çözmüş olursunuz. (ör. sınıfı içeren JAR dosyası) üzerinde çalıştığında, "bu komut dosyası" bulunur ve çözülür.

Tradefed nesnelerinin siparişleri

Farklı etiketlerin sırası önemli değildir. Örneğin, build_provider'ün target_preparer'ten sonra belirtilmesi bir fark yaratmaz. Akış test çağrısı, kablonun kendisi tarafından zorunlu kılındığından her zaman e-tablolarda tutabilirsiniz.

Aynı etikete sahip öğelerin sırası önemlidir. Örneğin, tanımlanan iki target_preparer nesnesi, XML'de tanımlanma sırasına göre çağrılır. Bu durum, örneğinizin son durumunu değiştirebileceğinden cihaz kurulumu. Örneğin, yanıp sönüp bir apk yüklemek, yanıp sönme işlemi cihazı temizleyeceğinden, bir apk yüklemek ve yanıp sönme işlemi ile aynıdır.