Ä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_preparerführtsetUpnachtarget_prepareraus.multi_target_preparerwirdtearDownvor 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 setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_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.