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ı
multi_target_preparer
,target_preparer
'ten sonrasetUp
'u yürütür.multi_target_preparer
, hedef temizleyicilerden öncetearDown
'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:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
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.