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. Testlerin çalıştırılması ve özelleştirilmesi için yapılandırmanın yapısını anlamak çok önemlidir.
TF yapılandırmalarının yapısı
Global TF yapılandırmaları
Genel 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, genel donanım davranışını etkileyecek nesneleri yükler.
Küresel yapılandırma ayrıntıları
Anahtar deposu
Anahtar deposu, değerin doğrudan komut satırında referans alınmasını önlemek için bir anahtar deposundan gelen Tradefed'e 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ı, tüm test çağrıları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'teki test çalıştırıcı, gerçek test yürütmeden 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 (örneğin, test başlangıcı, test bitişi) 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 kitaplığı büyükse veya çalışması uzun sürü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 bu dosyaları bir derleme sağlayıcıya gerek kalmadan uzak bir konumdan almasına olanak tanır.