تتّبع إعدادات 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
وما إلى ذلك. ويتمّ وصف أغراضها الفردية بمزيد من detail في قسم البنية.
يحتوي كل عنصر على فئة Java المرتبطة بالعنصر المحدّد في class=
التي يتم حلّها أثناء التشغيل، لذلك ما دام ملف JAR الذي يحتوي على الفئة
في مسار فئة Java في Tradefed عند التشغيل، سيتم العثور عليه وحلّه.
طلبات عناصر Tradefed
ولا يهمّ ترتيب العلامات المختلفة. على سبيل المثال، لا يُحدث تحديد build_provider
بعد target_preparer
أي اختلاف. يفرض الإطار نفسه مسار
استدعاء الاختبار، لذا سيستدعيه
دائمًا بالترتيب الصحيح.
يُرجى العِلم أنّ ترتيب العناصر التي تحمل العلامة نفسها مهم. على سبيل المثال، سيتمّ استدعاء عنصرَين
target_preparer
محدّدَين بترتيب تحديدهما في
ملف XML. من المهم فهم ذلك لأنّه يمكن أن يؤدي إلى تغيير الحالة النهائية لإعداد الجهاز. على سبيل المثال، لا يُعدّ تثبيت ملف APK ثم فلاش الجهاز مماثلاً لتثبيت ملف APK ثم فلاش الجهاز لأنّ عملية الفلاش ستؤدي إلى محو بيانات الجهاز.