Ähnlich wie ein Target Preparer ermöglicht ein Preparer mit mehreren Zielen die gemeinsame Einrichtung mehrerer Geräte. Dies wird beispielsweise verwendet, wenn zwei Geräte zu Testzwecken mit Bluetooth verbunden werden.
Basisschnittstelle
Die Basis-Schnittstelle ist IMultiTargetPreparer
, über die eine setUp
-Methode implementiert und ausgeführt werden kann. Wir empfehlen die Implementierung unserer einfachen abstrakten Klasse BaseMultiTargetPreparer
, die eine integrierte Deaktivierungsfunktion bietet, mit der sich ein Bearbeiter ganz einfach deaktivieren lässt.
Bei Multi-Target-Auftragsverarbeitern wird für alle Bereinigungsvorgänge direkt eine tearDown
-Methode bereitgestellt.
Empfehlung
Wir empfehlen, jede Person auf eine einzige Hauptfunktion zu beschränken. So können die Ersteller einfacher wiederverwendet werden.
Sehen Sie sich auch die Liste der verfügbaren Ersteller an, bevor Sie einen neuen hinzufügen, um doppelte Arbeit zu vermeiden. Ersteller sind 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 Benutzeroberfläche verfügbar.
XML-Konfiguration
Das Objekt-Tag ist multi_target_preparer
. Beispiel:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
Befehl zur Ausführung
multi_target_preparer
führtsetUp
nachtarget_preparer
aus.multi_target_preparer
wirdtearDown
vor Zielbereinigungen ausgeführt.
Dies ermöglicht nicht immer die Ausführung aller Einrichtungsschritte. Daher ist es möglich, in der XML-Datei den Preparer für mehrere Ziele als multi_pre_target_preparer
zu definieren und ihn 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 sieht so aus:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
Je nach Einrichtungsreihenfolge kann jeder Multi-Target-Vorbereiter als multi_target_preparer
oder multi_pre_target_preparer
deklariert werden.