Zatrudnij kontrolery modułów

Każdy moduł pakietu (zdefiniowany przez AndroidTest.xml ) może zawierać specjalny obiekt module_controller , który może zmienić pewne zachowanie modułu:

To, czy uruchomić moduł, czy nie, zależy od pewnych warunków

Implementując BaseModuleController i dodając go do pliku AndroidTest.xml w następujący sposób:

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

Kontroler modułu zostanie użyty do określenia, czy moduł powinien zostać uruchomiony, czy nie, w oparciu o public abstract RunStrategy shouldRun(IInvocationContext context); realizacja.

Czy zbierać logi w przypadku awarii, czy nie

W przypadku korzystania z pełnego pakietu można zażądać na poziomie pakietu zebrania niektórych logów dotyczących błędów (zrzut ekranu, raport o błędach, logcat). Jednak w przypadku niektórych modułów konkretny żądany dziennik może nie mieć żadnej wartości, a jego zebranie będzie po prostu stratą czasu. W takiej sytuacji moduł może jawnie określić, które logi go 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: Implementacja kontrolerów powinna być ogólna, jeśli to możliwe, aby zmaksymalizować możliwość ponownego wykorzystania. Pominięcie modułu na podstawie jego stanu powinno zostać sprawdzone przez właściciela modułu, aby uzyskać zgodę, że pominięcie modułu jest dla niego właściwym zachowaniem.