Setiap modul suite (ditentukan oleh AndroidTest.xml
) dapat berisi objek
module_controller
khusus yang dapat mengubah beberapa perilaku modul:
Apakah akan menjalankan modul atau tidak berdasarkan beberapa kondisi
Dengan menerapkan 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
implementasi
public abstract RunStrategy shouldRun(IInvocationContext context);
.
Apakah akan mengumpulkan beberapa log atau tidak saat terjadi kegagalan
Saat menjalankan suite lengkap, Anda dapat meminta pengumpulan beberapa log tentang kegagalan (screenshot, bugreport, logcat) di tingkat suite. Namun, untuk beberapa modul, log tertentu yang diminta mungkin tidak memiliki nilai apa pun dan hanya akan membuang waktu untuk dikumpulkan. Dalam situasi tersebut, modul dapat secara eksplisit menentukan log mana yang diinginkan:
<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 guna memaksimalkan penggunaan kembali. Selain itu, melewati modul berdasarkan kondisinya harus ditinjau oleh pemilik modul untuk mendapatkan persetujuan bahwa melewati modul adalah perilaku yang tepat bagi mereka.