Target-Präparatoren werden vor den Tests auf der Testebene aufgerufen, auf der sie definiert sind. So kann jedes Gerät für Tests eingerichtet werden, damit diese reibungslos ablaufen.
Basisschnittstelle
Die Basisschnittstelle ist ITargetPreparer
, die die Ausführung einer setUp
-Methode ermöglicht. Wir empfehlen, unsere einfache abstrakte Klasse BaseTargetPreparer
zu implementieren, die eine integrierte Deaktivierungsfunktion bietet, mit der sich ein Preparer ganz einfach deaktivieren lässt.
Übersichtlichere Benutzeroberfläche
Die natürliche Erweiterung von setUp
ist tearDown
und wird über eine andere Schnittstelle bereitgestellt: ITargetCleaner
. Dadurch wird die tearDown
-Schnittstelle bereitgestellt, mit der nach der Ausführung des Tests alles bereinigt werden kann, was in setUp
erfolgt ist.
Die Klasse BaseTargetPreparer
erweitert auch ITargetCleaner
.
Empfehlungen
Wir empfehlen, dass jeder Vorbereiter auf eine einzige Hauptfunktion beschränkt ist, z. B. die Installation einer APK oder die Ausführung eines Befehls. So können Sie Preparer einfacher wiederverwenden.
Sehen Sie sich auch die Liste der verfügbaren Steuerberater an, bevor Sie einen neuen hinzufügen, um Doppelarbeit zu vermeiden. Die Funktion „Vorbereiter“ ist in tools/tradefederation/core/src/com/android/tradefed/targetprep/
verfügbar.
XML-Konfiguration
Das Objekt-Tag ist target_preparer
, z. B.:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
Weitere Informationen finden Sie unter Suites einrichten.
Einrichtung auf höchster Ebene
Wenn der Preparer in einer Einrichtung auf oberster Ebene angegeben wird, wird er nur einmal für jedes Gerät ausgeführt. Ein Beispiel ist cts-common.xml
, eine Einrichtung der obersten Ebene für Android Compatibility Test Suite (CTS)-Tests.
Einrichtung auf Modulebene
Wenn der Preparer auf Modulebene angegeben wird, wird er immer vor dem Modul ausgeführt. Ein Beispiel ist backup/AndroidTest.xml
, das definiert, wie Tradefed das backup
-CTS-Modul ausführt.
Der Preparer wird zwar vor dem Modul ausgeführt, aber nach allen Systemstatusprüfungen.