Ticaretle beslenen mimari

Bu bölümde Tradefed'in iç yapısı ve ilişkileri açıklanmaktadır. Daha fazla ayrıntı için bağlantılı alt sayfalara bakın.

Test konfigürasyonları

Tradefed'deki test konfigürasyonları XML formatında açıklanmıştır. Yapılandırmanın yapısını anlamak, testleri çalıştırmanın ve özelleştirmenin anahtarıdır.

TF konfigürasyonlarının yapısı

Küresel 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. Genel koşum davranışını etkileyecek Tradefed örnek kapsamıyla ilgili nesneleri yükler.

Genel Yapılandırma ayrıntıları

Anahtar deposu

Anahtar deposu, değere doğrudan komut satırında atıfta bulunulmasını önlemek için bir anahtar deposundan gelen komut satırı seçeneklerinin Tradefed'e eklenmesine olanak tanır. Bu, parolaları doğrudan anahtar deposundan alarak komut satırından parolaları gizlemek için kullanılabilir.

Anahtar deposu ayrıntıları

Aygıt Yöneticisi

Cihaz yöneticisi, Tradefed'in çalışan bir örneğindeki cihazların durumunu takip etmekten sorumludur. Tahsis durumu ve çevrimiçi durum gibi hususlar izlenir.

Test komutu zamanlayıcısı

Tradefed'deki test komut zamanlayıcısı, çalıştırılacak komutları alır, bunları cihazlarla ilişkilendirir ve bir test çağrısı başlatır.

Derleme sağlayıcısı

Derleme sağlayıcısı, herhangi bir test çağrısının ilk adımıdır. Testleri ayarlamak ve çalıştırmak için gereken kaynakları indirir (görüntüler oluşturma, APK'ları test etme ve daha fazlası). Ayrıca teste aktarılacak olan BuildInfo nesnesinde de bunlara başvurur. 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 duruma yapılandırmak için gerçekleştirilebilecek isteğe bağlı eylemler sunar; örneğin cihazın yanıp sönmesi, belirli özelliklerin ayarlanması ve Wi-Fi'ye bağlanma.

Test koşucusu

Tradefed'deki test çalıştırıcısı, gerçek testin yürütülmesinden sorumlu olan nesneyi ifade eder. Farklı test çalıştırıcıları, testin yürütülmesini farklı şekillerde yönlendirir; örneğin, bir enstrümantasyon testi çalıştırıcısı bir JUnit test çalıştırıcısından çok farklı olacaktır.

Sonuç muhabiri

Tradefed'deki sonuç raporlayıcısı, sonuçları belirli bir hedefe gönderecek nesneyi ifade eder. Her uygulama genellikle farklı sonuç arka uçları için uzmanlaşmıştır. Ve sonuç raporlayıcısı, Tradefed sonuç formatını hedef formata dönüştürmekten sorumludur.

Bu esnek tasarım, herhangi bir testin sonuç hedeflerinden herhangi birine rapor vermesine ve daha fazla testin izole bir şekilde kolayca eklenmesine olanak tanır.

Metrik toplayıcı

Metrik toplayıcı, Tradefed'de test yürütmeye dik olan özel bir nesnedir. Test yaşam döngüsünün farklı noktalarında (örneğin test başlangıcı, test sonu) bilgi toplanmasına olanak tanır. Toplayıcı testin kendisinden ayrıldığından, testin kendisini değiştirmeye gerek kalmadan noktalar değiştirilebilir, eklenebilir ve çıkarılabilir.

Ana bilgisayar çapında kurulum

Bu bölümde, tam Tradefed örneğinin çalıştırılması için geçerli olan ayarlar açıklanmaktadır. Bu seçenekler, örneğin sınırlı bir ağda olmak gibi farklı ortamlara uyum sağlamak amacıyla emniyet kemerinin davranışını bir bütün olarak etkiler.

Ek özellikler

Aşağıdaki bölümlerde Tradefed nesneleri yerine Tradefed nesnelerinin genel kullanımı açıklanmaktadır.

Ticaretle beslenen parçalama

Test topluluğu büyük olduğunda veya yürütülmesi uzun zaman aldığında, bunu birkaç cihaza bölmek mümkündür. Bu bölünmeye parçalama diyoruz. Bu bölümde parçalamanın nasıl çalıştığı ve nasıl yapılandırıldığı açıklanmaktadır.

Parçalama ayrıntıları

SL4A'yı kullanma

Tradefed, Android için komut dosyası oluşturma katmanını (SL4A) 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 testin veya belirli bir işlemin ihtiyaç duyduğu dosyalar yerel olarak mevcut olmayabilir. Bu özellik, Tradefed'in bu dosyaları bir derleme sağlayıcısına gerek kalmadan uzak bir konumdan almasına olanak tanır.

Dinamik @option indirme