Multi-Target-Vorbereiter

Ähnlich wie ein Target-Vorbereiter ermöglicht ein Multi-Target-Vorbereiter die gemeinsame Einrichtung mehrerer Geräte. Dies würde beispielsweise verwendet werden, wenn zwei Geräte zu Testzwecken mit Bluetooth verbunden werden.

Basisschnittstelle

Die Basisschnittstelle ist IMultiTargetPreparer , die die Implementierung einer auszuführenden setUp Methode ermöglicht. Wir empfehlen die Implementierung unserer grundlegenden abstrakten Klasse BaseMultiTargetPreparer , die eine integrierte Deaktivierungsfunktion zum einfachen Deaktivieren eines Vorbereiters bietet.

Multi-Target-Vorbereiter stellen außerdem direkt eine tearDown Methode für jeden Bereinigungsvorgang bereit.

Empfehlung

Wir empfehlen, jeden Vorbereiter auf eine einzelne Hauptfunktion zu beschränken. Dies ermöglicht eine einfachere Wiederverwendung von Präparatoren.

Überprüfen Sie außerdem die Liste der verfügbaren Vorbereiter, bevor Sie einen neuen hinzufügen, um Doppelarbeit zu vermeiden. Vorbereiter sind unter tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/ verfügbar.

Die Anzahl der Geräte, die ein Multi-Target-Vorbereiter einrichten kann, ist unbegrenzt. Alle Geräte sind im IInvocationContext der zu implementierenden Schnittstelle verfügbar.

XML-Konfiguration

Das Objekt-Tag ist multi_target_preparer , zum Beispiel:

<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>

Operationsauftrag

  1. multi_target_preparer führt setUp nach target_preparer aus.
  2. multi_target_preparer führt tearDown vor Zielreinigern aus.

Dies ermöglicht nicht immer die Leistung aller Einrichtungsschritte, daher ist es im XML möglich, den Multi-Target-Vorbereiter 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 Gesamtoperationsreihenfolge lautet 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 der Einrichtung erforderlich ist.