تتّبع إعدادات Tradefed بنية XML لوصف الاختبار الذي سيتم تشغيله وخطوات الإعداد والتحضير التي سيتم تنفيذها.
من الناحية النظرية، يمكن تحديد كل شيء في XML لأمر واحد. ولكن من الناحية العملية، من الأفضل استخدام ملفات XML الأساسية للنماذج وتخصيصها باستخدام مَعلمات إضافية في سطر الأوامر.
البنية
<configuration description="<description of the configuration>">
<!-- A build provider that takes local device information -->
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<!-- Some target preparation, disabled by default -->
<target_preparer class="com.android.tradefed.targetprep.PreloadedClassesPreparer">
<option name="disable" value="true" />
</target_preparer>
<!-- One test running some unit tests -->
<test class="com.android.tradefed.testtype.HostTest">
<option name="class" value="com.android.tradefed.build.BuildInfoTest" />
</test>
<!-- [OPTIONAL] -->
<logger class="com.android.tradefed.log.FileLogger">
<option name="log-level" value="VERBOSE" />
<option name="log-level-display" value="VERBOSE" />
</logger>
<!-- [OPTIONAL] -->
<log_saver class="com.android.tradefed.result.FileSystemLogSaver" />
<!-- As many reporters as we want -->
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter" />
<result_reporter class="com.android.tradefed.result.suite.SuiteResultReporter" />
<result_reporter class="com.android.tradefed.result.MetricsXMLResultReporter"/>
</configuration>
يتم تحديد ملف XML الإجمالي في Tradefed باستخدام علامتَي <configuration>. Tradefed
objects يتم تحديدها في علاماتها الخاصة، مثلاً: build_provider،
target_preparer، test، وما إلى ذلك. يتم وصف أغراضها الفردية بمزيد من
التفصيل في قسم البنية.
يرتبط كل عنصر بفئة Java المحدّدة في class= التي يتم حلّها في وقت التشغيل، لذا طالما أنّ ملف JAR الذي يحتوي على الفئة موجود في مسار فئات Java في Tradefed عند التشغيل، سيتم العثور عليه وحلّه.
ترتيب عناصر Tradefed
لا يهم ترتيب العلامات المختلفة. على سبيل المثال، لا يهم ما إذا تم تحديد build_provider بعد target_preparer. يتم فرض مسار استدعاء الاختبار من خلال النظام الأساسي نفسه، لذا سيتم استدعاؤها دائمًا بالترتيب الصحيح.
يُهم ترتيب العناصر التي تحمل العلامة نفسها. على سبيل المثال، سيتم استدعاء عنصرَين من نوع target_preparer بالترتيب الذي تم تعريفهما به في ملف XML. من المهم فهم ذلك لأنّه يمكن أن يغيّر الحالة النهائية لإعداد الجهاز. على سبيل المثال، تثبيت ملف APK بعد تنزيله ليس هو نفسه تنزيل ملف APK وتثبيته لأنّ عملية التنزيل ستؤدي إلى محو بيانات الجهاز.