Ähnlich wie bei einem Zielvorbereiter können Sie mit einem Multi-Target-Vorbereiter mehrere Geräte gleichzeitig einrichten. Dies wird beispielsweise verwendet, wenn zwei Geräte zum Testen über Bluetooth verbunden werden.
Basisschnittstelle
Die Basisschnittstelle ist IMultiTargetPreparer
, mit der eine setUp
-Methode implementiert werden kann, die ausgeführt wird. Wir empfehlen, unsere einfache abstrakte Klasse BaseMultiTargetPreparer
zu implementieren, die eine integrierte Deaktivierungsfunktion bietet, mit der sich ein Preparer ganz einfach deaktivieren lässt.
Multi-Target-Preparer stellen auch direkt eine tearDown
-Methode für alle Bereinigungen bereit.
Empfehlung
Wir empfehlen, jedem Aufbereiter nur eine Hauptfunktion zuzuweisen. So können Sie die Aufbereiter einfacher wiederverwenden.
Sehen Sie sich auch die Liste der verfügbaren Bearbeiter an, bevor Sie einen neuen hinzufügen, um Doppelarbeit zu vermeiden. Die Funktion ist in tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
verfügbar.
Die Anzahl der Geräte, die ein Multi-Target-Vorbereiter einrichten kann, ist nicht begrenzt. Alle Geräte sind in IInvocationContext
der Schnittstelle verfügbar, die implementiert werden muss.
XML-Konfiguration
Das Objekt-Tag ist multi_target_preparer
, z. B.:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
Reihenfolge der Vorgänge
multi_target_preparer
führtsetUp
nachtarget_preparer
aus.multi_target_preparer
wirdtearDown
vor Zielbereinigungen ausgeführt.
Dadurch können nicht immer alle Einrichtungsschritte ausgeführt werden. Daher ist es möglich, den Multi-Target-Preparer im XML als multi_pre_target_preparer
zu definieren und vor target_preparer
-Instanzen auszuführen.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
Die allgemeine Reihenfolge der Vorgänge ist wie folgt:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
Jeder Multi-Target-Vorbereiter kann als multi_target_preparer
oder multi_pre_target_preparer
deklariert werden, je nachdem, welche Reihenfolge für die Einrichtung erforderlich ist.