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. Genel koşum davranışını etkileyecek Tradefed örneği kapsamıyla ilgili 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 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
Cihaz yöneticisi, Tradefed'in çalışan bir örneğindeki cihazların durumunu takip etmekten sorumludur. Ayrılma durumu ve çevrimiçi durum gibi özellikler izlenir.
Test komutu planlayıcı
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ı
Build 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ı 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 yürütmeyi 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 teste paralel özel bir nesnedir. 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ğu için puanlar testin kendisinde değişiklik yapılmasına gerek kalmadan 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, farklı ortamlara (ör. kısıtlanmış bir ağda olma) uyum sağlamak için koşum takımının davranışını bir bütün olarak 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.