Bu bölümde, Tradefed'in iç işleyişi ve ilişkileri açıklanmaktadır. Daha fazla bilgi için bağlantılı alt sayfalara bakın.
Test yapılandırmaları
Tradefed'deki test yapılandırmaları XML biçiminde açıklanır. Testleri çalıştırmak ve özelleştirmek için yapılandırmanın yapısını anlamak önemlidir.
TF yapılandırmalarının yapısı
Genel TF yapılandırmaları
Global yapılandırma dosyası, Tradefed başlatıldığında TF_GLOBAL_CONFIG ortam değişkeni aracılığıyla yüklenen özel bir Tradefed XML yapılandırmasıdır. Tradefed örneği kapsamıyla ilgili ve genel koşum davranışını etkileyecek nesneleri yükler.
Genel yapılandırma ayrıntıları
Anahtar deposu
Keystore, komut satırında değere doğrudan referans vermemek için komut satırı seçeneklerinin Tradefed'e bir anahtar deposundan aktarılmasına olanak tanır. Bu, şifreleri doğrudan anahtar deposundan alarak komut satırında şifreleri gizlemek için kullanılabilir.
Cihaz yöneticisi
Cihaz yöneticisi, Tradefed'in çalışan bir örneğindeki cihazların durumunu takip etmekten sorumludur. Ayrılma durumu ve çevrimiçi durum gibi yönler izlenir.
Komut zamanlayıcıyı test etme
Tradefed'deki test komutu planlayıcı, çalıştırılacak komutları alır, bunları cihazlarla ilişkilendirir ve test çağrısını 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 resimleri, test APK'ları vb.) indirir. Ayrıca, bunları teste geçirilecek bir BuildInfo nesnesinde de referans alır. Yerel olarak
kullanılabilen kaynaklar da BuildInfo nesnesine bağlanabilir.
Hedef hazırlayıcı ve temizleyici
Hedef hazırlayıcı, test edilen hedefi belirli bir durumda yapılandırmak için isteğe bağlı olarak gerçekleştirilebilecek işlemler sunar. Örneğin, cihazı flaşlama, belirli özellikleri ayarlama ve kablosuz ağa bağlanma.
Test çalıştırıcı
Tradefed'deki bir test çalıştırıcı, gerçek test yürütülmesinden sorumlu nesneyi ifade eder. Farklı test çalıştırıcılar, test işlemini farklı şekillerde yönlendirir. Örneğin, bir enstrümantasyon test çalıştırıcısı, 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ç muhabiri, Tradefed sonuç biçimini hedef biçime dönüştürmekten sorumludur.
Bu esnek tasarım, herhangi bir testin sonuç hedeflerinden herhangi birine rapor vermesine ve daha fazla testin kolayca izole bir şekilde eklenmesine olanak tanır.
Metrik toplayıcı
Metrik toplayıcı, Tradefed'deki özel bir nesnedir ve test yürütme işlemine ortogonaldir. Test yaşam döngüsünün farklı noktalarında (ör. test başlangıcı, test sonu) bilgi toplanmasına olanak tanır. Toplayıcı testten bağımsız olduğundan, testin kendisinde değişiklik yapılması gerekmeden puanlar değiştirilebilir, eklenebilir ve kaldırılabilir.
Ana makine genelinde kurulum
Bu bölümde, tam bir Tradefed örneğinin çalıştırılması için geçerli olan kurulumlar açıklanmaktadır. Bu seçenekler, koşumun farklı ortamlara (ör. kısıtlanmış bir ağda bulunma) uyum sağlaması için genel davranışını etkiler.
Ek özellikler
Aşağıdaki bölümlerde Tradefed nesnelerinden ziyade Tradefed'in genel kullanımı açıklanmaktadır.
Tradefed parçalama
Test gövdesi büyük olduğunda veya yürütülmesi uzun sürdüğünde, bunu birkaç cihaz arasında bölmek mümkündür. Bu bölme işlemine parçalama denir. Bu bölümde, parçalama işleminin işleyiş şekli ve nasıl yapılandırıldığı açıklanmaktadır.
SL4A'yı kullanma
Tradefed, Android için SL4A adlı komut dosyası oluşturma katmanını destekler. Bu, Android API'lerini platformdan bağımsız bir şekilde çağırmak için kullanılan bir otomasyon araç setidir.
Dinamik @option indirme
Bazı durumlarda, bir test veya belirli bir işlem için gereken dosyalar yerel olarak kullanılamaz. Bu özellik, Tradefed'in bu dosyaları bir derleme sağlayıcısından geçmeden uzak bir konumdan almasına olanak tanır.