Bu bölümde, Tradefed'in iç işleyişine ve ilişkilerine yer verilmiştir. Daha fazla bilgi için bağlantı verilen alt sayfalara bakın.
Test yapılandırmaları
Tradefed'deki test yapılandırmaları XML biçiminde açıklanır. Yapılandırmanın yapısını anlamak, testleri çalıştırmak ve özelleştirmek için önemlidir.
TF yapılandırmalarının yapısı
Global TF yapılandırmaları
Global yapılandırma dosyası, Tradefed TF_GLOBAL_CONFIG
ortam değişkeni aracılığıyla başlatıldığında yüklenen özel bir Tradefed XML yapılandırmasıdır. Tradefed örneği kapsamıyla ilgili ve genel donanım davranışını etkileyecek nesneleri yükler.
Küresel yapılandırma ayrıntıları
Anahtar deposu
Anahtar deposu, değere doğrudan komut satırından referans vermemek için Tradefed'e bir anahtar deposundan gelen komut satırı seçeneklerinin eklenmesine olanak tanır. Bu, şifreleri doğrudan anahtar deposundan alarak komut satırında gizlemek için kullanılabilir.
Cihaz yöneticisi
Tradefed'in çalışan bir örneğindeki cihazların durumunu takip etmek cihaz yöneticisinin sorumluluğundadır. Atama durumu ve çevrimiçi durum gibi özellikler izlenir.
Test komutu planlayıcısı
Tradefed'deki test komutu planlayıcısı, çalıştırılacak komutları alır, cihazlarla ilişkilendirir ve bir test çağrısı başlatır.
Yapı sağlayıcı
Derleme sağlayıcı, herhangi bir test çağrısının ilk adımıdır. Testleri ayarlamak ve çalıştırmak için gereken kaynakları (derleme görüntüleri, test APK'ları vb.) indirir. Ayrıca, teste iletilecek bir BuildInfo
nesnesinde bunlara referans verir. Yerel olarak kullanılabilen kaynaklar da BuildInfo
nesnesine bağlanabilir.
Hedef hazırlayan ve temizleyen
Hedef hazırlayıcı, test edilen hedefi belirli bir duruma (ör. cihazı flaşlama, belirli özellikleri ayarlama ve kablosuz ağa bağlanma) yapılandırmak için uygulanabilecek isteğe bağlı işlemler sunar.
Test çalıştırıcı
Tradefed'de test çalıştırıcı, gerçek test çalıştırmasından sorumlu nesneyi ifade eder. Farklı test çalıştırıcıları, test yürütmeyi farklı şekillerde yönetir. Örneğin, bir enstrümantasyon test çalıştırıcı, JUnit test çalıştırıcısından çok farklıdır.
Sonuç bildiren
Tradefed'deki sonuç raporlayıcı, sonuçları belirli bir hedefe gönderecek nesneyi ifade eder. Her uygulama genellikle farklı sonuç arka uçları için özelleştirilir. Sonuç raporlayıcı, Tradefed sonuç biçimini hedef biçime dönüştürmekten sorumludur.
Bu esnek tasarım, herhangi bir testin sonuçların hedeflerinden herhangi birine rapor vermesine ve izole bir şekilde daha fazla testin kolayca eklenmesine olanak tanır.
Metrik toplayıcı
Metrik toplayıcı, Tradefed'de test yürütme işlemine dik olan özel bir nesnedir. Test yaşam döngüsünün farklı noktalarında (ör. testin başlangıcı, testin sonu) bilgi toplanmasına olanak tanır. Toplayıcı, testten ayrıldığından puanlar, testin değiştirilmesi gerekmeden değiştirilebilir, eklenebilir ve kaldırılabilir.
Ana makine genelinde kurulum
Bu bölümde, tam bir Tradefed örneğinin çalışması için geçerli olan ayarlar açıklanmaktadır. Bu seçenekler, farklı ortamlara (ör. kısıtlanmış bir ağda bulunma) uyum sağlamak için kemerlerin davranışını bir bütün olarak etkiler.
Ek özellikler
Aşağıdaki bölümlerde, Tradefed nesneleri yerine Tradefed'in genel kullanımı açıklanmaktadır.
Tradefed bölme
Test veri kümesi büyükse veya yürütülmesi uzun süre alıyorsa birkaç cihaza bölünebilir. Bu bölme işlemine bölümlendirme denir. Bu bölümde, bölümlendirmenin işleyiş şekli ve nasıl yapılandırıldığı açıklanmaktadır.
SL4A'yı kullanma
Tradefed, Android için komut dosyası katmanını (SL4A) destekler. Bu, Android API'lerini platformdan bağımsız bir şekilde çağırmaya yönelik bir otomasyon araç setidir.
Tradefed ayrıntıları içeren SL4A
Dinamik @option indirme
Bazı durumlarda, bir testin veya belirli bir işlemin ihtiyaç duyduğu dosyalar yerel olarak mevcut değildir. Bu özellik, Tradefed'in bir derleme sağlayıcısından geçmeden bu dosyaları uzak bir konumdan almasını sağlar.