Bereitsteller für mehrere Ziele

Ä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

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

  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

Je nach Einrichtungsreihenfolge kann jeder Multi-Target-Vorbereiter als multi_target_preparer oder multi_pre_target_preparer deklariert werden.