Hedef hazırlayıcıya benzer şekilde, çoklu hedef hazırlayıcı birden fazla cihazın birlikte kurulmasına olanak tanır. Örneğin, test için iki cihazı Bluetooth ile bağlarken bu özellik kullanılır.
Temel arayüz
Temel arayüz IMultiTargetPreparer'dir.
Bu arayüz, yürütülecek bir setUp yönteminin uygulanmasına olanak tanır. Hazırlayıcıyı kolayca devre dışı bırakmak için yerleşik bir devre dışı bırakma özelliği sağlayan temel soyut sınıfımızı BaseMultiTargetPreparer uygulamanızı öneririz.
Çok hedefli hazırlayıcılar, 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ırlayıcılar daha kolay yeniden kullanılabilir.
Çalışmanın tekrarlanmasını önlemek için yeni bir hazırlayan eklemeden önce mevcut hazırlayanlar listesini de kontrol edin. Hazırlayıcılar tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/'da kullanılabilir.
Çok hedefli hazırlayıcıların ayarlayabileceğ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'dır. Örneğin:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
İşlem sırası
multi_target_preparer,setUpsonrasındatarget_preparer'i yürütür.multi_target_preparer, hedef temizleyicilerdentearDownönce yürütülür.
Bu, tüm kurulum adımlarının gerçekleştirilmesine her zaman izin vermez. Bu nedenle, XML'de çok hedefli hazırlayıcıyı multi_pre_target_preparer olarak tanımlamak ve target_preparer örneklerinden önce 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:
multi_pre_target_preparer setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_pre_target_preparer tearDown
Çok hedefli hazırlayıcılar, hangi kurulum sırasının gerektiğine bağlı olarak multi_target_preparer veya multi_pre_target_preparer olarak bildirilebilir.