Zastosuj kontrolery modułów

Każdy moduł pakietu (zdefiniowany przez AndroidTest.xml) może zawierać specjalny obiekt module_controller, który może zmieniać niektóre zachowania modułu:

Czy moduł ma być uruchamiany na podstawie określonych warunków

Wdroż BaseModuleController i dodaj go do AndroidTest.xml w ten sposób:

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

Kontroler modułu będzie używany do określania, czy moduł powinien być uruchomiony, na podstawie implementacji public abstract RunStrategy shouldRun(IInvocationContext context);.

Określa, czy w przypadku błędów mają być zbierane niektóre dzienniki.

Przy uruchamianiu pełnego pakietu możesz poprosić na poziomie pakietu o zbiór niektórych logów związanych z błędami (zrzut ekranu, raport o błędzie, logcat). Jednak w przypadku niektórych modułów konkretny żądany log może nie mieć żadnej wartości i będzie po prostu marnować czas na zebranie jego danych. W takiej sytuacji moduł może bezpośrednio wskazać, które logi Cię interesują:

<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>

UWAGA: w miarę możliwości wdrożenie kontrolerów powinno być ogólne, aby zmaksymalizować możliwość ponownego wykorzystania. Przejście do następnego modułu na podstawie jego stanu powinno zostać sprawdzone przez właściciela modułu, który powinien zatwierdzić, że przejście do następnego modułu jest właściwym działaniem.