Çoklu hedef hazırlayıcılar

Hedef hazırlayıcıya benzer şekilde, çoklu hedef hazırlayıcı da birden fazla cihazın birlikte kurulmasına olanak tanır. Örneğin, bu bağlantı test için iki cihazı Bluetooth ile bağlarken kullanılır.

Temel arayüz

Temel arayüz IMultiTargetPreparer'dur. Bu arayüz, setUp yönteminin uygulanmasını ve yürütülmesini sağlar. Hazırlayıcıyı kolayca devre dışı bırakmak için yerleşik bir devre dışı bırakma özelliği sunan temel soyut sınıfımızı BaseMultiTargetPreparer uygulamanızı öneririz.

Çok hedefli hazırlayıcılar, tüm temizleme işlemleri için doğrudan bir tearDown yöntemi de sağlar.

Öneri

Her hazırlayanın tek bir ana işlevle sınırlandırılmasını öneririz. Bu sayede hazırlayanları daha kolay yeniden kullanabilirsiniz.

Ayrıca, yeni bir hazırlayıcı eklemeden önce mevcut hazırlayıcıların listesini kontrol ederek aynı çalışmanın tekrarlanmasını önleyebilirsiniz. Hazırlayıcılar tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/'te kullanılabilir.

Çok hedefli bir hazırlayıcının kurabileceği cihaz sayısıyla ilgili bir sınır yoktur. Tüm cihazlar, uygulamak için arayüzün IInvocationContext bölümünde kullanılabilir.

XML yapılandırması

Nesne etiketi multi_target_preparer'tir. Örneğin:

<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>

İşlem sırası

  1. multi_target_preparer, target_preparer'ten sonra setUp'u yürütür.
  2. multi_target_preparer, hedef temizleyicilerden önce tearDown'i yürütür.

Bu, her zaman tüm kurulum adımlarının gerçekleştirilmesine izin vermez. Bu nedenle, XML'de çok hedefli hazırlayıcıyı multi_pre_target_preparer olarak tanımlamak ve target_preparer örnekleri öncesinde yürütmek mümkündür.

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

Genel işlem sırası aşağıdaki gibidir:

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. multi_pre_target_preparer tearDown

Herhangi bir çok hedefli hazırlayıcı, gerekli kurulum sırasına bağlı olarak multi_target_preparer veya multi_pre_target_preparer olarak tanımlanabilir.