Tradefed mimarisi

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.

Anahtar deposu ayrıntıları

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.

Bölünme ayrıntıları

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.

Dinamik @option indirme