Menggunakan pengontrol modul

Setiap modul suite (ditentukan oleh AndroidTest.xml) dapat berisi paket Objek module_controller yang dapat mengubah beberapa perilaku modul:

Apakah akan menjalankan modul atau tidak berdasarkan beberapa kondisi

Dengan mengimplementasikan BaseModuleController dan menambahkannya ke AndroidTest.xml seperti ini:

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

Pengontrol modul akan digunakan untuk menentukan apakah modul harus dijalankan atau tidak, berdasarkan public abstract RunStrategy shouldRun(IInvocationContext context); terlepas dari implementasi layanan.

Apakah akan mengumpulkan beberapa log atau tidak saat terjadi kegagalan

Saat menjalankan suite lengkap, Anda dapat meminta di tingkat suite kumpulan beberapa log tentang kegagalan (screenshot, laporan bug, logcat). Tapi untuk beberapa modul, log tertentu yang diminta mungkin tidak memiliki nilai apa pun dan hanya membuang-buang waktu untuk dikumpulkan. Dalam situasi itu, modul dapat secara eksplisit menentukan log mana yang mereka inginkan:

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

CATATAN: Implementasi pengontrol harus bersifat umum jika memungkinkan untuk memaksimalkan penggunaan kembali. Dan melewatkan modul berdasarkan kondisinya akan ditinjau oleh pemilik modul untuk mendapatkan persetujuan bahwa melewatkan modul perilaku yang tepat untuk mereka.