Çok hedefli hazırlayanlar

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, test için iki cihazı Bluetooth ile bağlarken bu yöntem kullanılır.

Temel arayüz

Temel arayüz IMultiTargetPreparer'dur ve setUp yönteminin 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, arayüzün IInvocationContext bölümünde uygulanabilir.

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ı, hangi kurulum sırasına ihtiyaç duyulduğuna bağlı olarak multi_target_preparer veya multi_pre_target_preparer olarak tanımlanabilir.