Modulcontroller einsetzen

Jedes Suite-Modul (definiert durch AndroidTest.xml) kann ein spezielles module_controller-Objekt, das das Verhalten des Moduls verändern kann:

Ob das Modul basierend auf bestimmten Bedingungen ausgeführt wird oder nicht

Durch Implementieren von BaseModuleController Fügen Sie ihn wie folgt zum AndroidTest.xml hinzu:

<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />

Der Modulcontroller wird verwendet, um zu bestimmen, ob das Modul ausgeführt werden soll. oder nicht, je nachdem, public abstract RunStrategy shouldRun(IInvocationContext context); Implementierung.

Ob bestimmte Logs bei Fehlern erfasst werden sollen oder nicht

Wenn Sie eine komplette Suite betreiben, können Sie die Anfrage auf Suite-Ebene Sammlung einiger Logs bei Fehlern (Screenshot, Fehlerbericht, Logcat) Aber für hat ein bestimmtes Log möglicherweise keinen Wert und verschwendet einfach Zeit, um gesammelt zu werden. In diesem Fall kann ein Modul welche Logs benötigt werden:

<object type="module_controller"
        class="com.android.tradefed.testtype.suite.module.TestFailureModuleController">
    <option name="screenshot-on-failure" value="<true OR false>" />
    <option name="bugreportz-on-failure" value="<true OR false>" />
    <option name="logcat-on-failure" value="<true OR false>" />
</object>

HINWEIS: Die Implementierung von Verantwortlichen sollte möglichst allgemein gehalten sein, die Wiederverwendbarkeit maximieren. Das Überspringen eines Moduls aufgrund seines Zustands vom Modulinhaber überprüft werden, um die Zustimmung zu erhalten, dass das Überspringen eines Moduls das richtige Verhalten zu finden.