Şablonlar ve Tradefed XML yapılandırmasına dahil olanlar

Bir testi tanımlamak için tek bir monolitik XML yapılandırması oluşturmak her zaman olmayabilir. pratik. Benzer testler yapmak için kurulumun bir bölümünü yeniden kullanmak isterseniz iki büyük XML dosyasını kopyalayıp saklamak zorunda kalırlar.

Tradefed XML yapılandırmasındaki template ve include etiketleri buradadır. işinize yarayacaktır. Bazı XML dosyalarında yer tutucular ayarlamanıza olanak tanır. başka bir XML yapılandırmasının parçasını eklemek için.

Şablonlar için örnek tanım

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <template-include name="preparers" default="empty" />

    <template-include name="test" default="empty" />

    <template-include name="reporters" default="empty" />
</configuration>

Şablonlar, bunlara başvuruda bulunmak için name ve isteğe bağlı bir default alanı. Varsayılan alan, o e-postadaki varsayılan değiştirme XML'sini kullanılmalıdır.

Belirli bir yapılandırmada bir şablonu değiştirmek için aşağıdaki komut parametresinin komut satırına eklenmesi gerekir:

--template:map <name of template>=<replacement XML config path>

--template:map preparers=empty

Örnek:

<template-include name="preparers" default="empty" />

Bu senaryodaki empty referansı, şu empty.xml yapılandırmasını ifade eder: hiçbir şey içermez; bunu hiçbir şey yerine koymamak için kullanırız.

XML yapılandırmalarının yolu mutlak olabilir veya res/config klasörüyle ilişkili olabilir inceleyebilirsiniz. Bulundukları yerlerden bazıları şunlardır:

  • araçlar/tradefederasyon/çekirdek/res/config
  • araçlar/tradefederasyon/çekirdek/testler/res/config
  • Tools/tradedeferation/contrib/res/config

İçerir kelimesinin tanımına örnek

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <include name="empty"/>
</configuration>

İçerikler, komut satırı bağımsız değişkeni gerektirmediğinden Şablonlar'dan daha basittir; bunlar, başvurulan XML'i doğrudan name etiketinde genişletir. Şablonlara benzer şekilde yapılandırmanın yolu mutlak veya göreli olabilir. Yine de includes için Tradefed'te daha taşınabilir oldukları için yalnızca göreli yolların kullanılmasını öneririz. Tradefed başka bir makineye taşınırsa mutlak yollar geçerli olmaz.

Yanlış yapılandırma

Yeni XML dosyasının bulunamaması gibi yanlış yapılandırma durumlarında Tradefed, nasıl göründüğüne dair açıklamaları içeren bir ConfigurationException yayınlar. veya yanlış yapılandırılmış olabilir.