Każdy moduł pakietu (zdefiniowany przez funkcję AndroidTest.xml
) może zawierać specjalny obiekt module_controller
, który może zmieniać niektóre jego działanie:
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.
Podczas uruchamiania pełnego zestawu można na poziomie zestawu poprosić o zbieranie niektórych dzienników dotyczących błędów (zrzut ekranu, raport o błędach, logcat). W przypadku niektórych modułów żądany dziennik może nie mieć żadnej wartości i po prostu marnować czas na jego zbieranie. 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: aby zmaksymalizować możliwość ponownego użycia, implementacja kontrolerów powinna być ogólna. 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.