Mehrere Ziele

Ä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

  1. multi_target_preparer führt setUp nach target_preparer aus.
  2. multi_target_preparer wird tearDown 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:

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. 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.