Tradefed mimarisi

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.

Anahtar deposu ayrıntıları

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.

Parçalama ayrıntıları

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.

Tradefed ayrıntılarıyla SL4A

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.

Dinamik @seçenek indirme