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. 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.

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 ö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.

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 @option indirme