ההגדרות של triFed מופיעות במבנה 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 הכולל שהוזן ב-Trends מופרד באמצעות תגי <configuration>
. Tradefed
objects
מוגדרים בתגים משלהם, לדוגמה: build_provider
,
target_preparer
, test
וכו'. המטרות הנפרדות שלהם מתוארות במידע נוסף
הפרטים בארכיטקטורה
.
לכל אובייקט יש מחלקה של Java שמשויכת לאובייקט שמוגדר ב-class=
שנפתר בזמן הריצה, כל עוד קובץ ה-JAR שמכיל את המחלקה
בנתיב ה-classpath Java שמזינים בזמן ההרצה, הוא יאותר ויפתור את הבעיה.
סידור של אובייקטים שמזינים במסחר
הסדר של התגים השונים לא משנה. לדוגמה, הוא לא קובע
ההפרש אם צוין build_provider
אחרי target_preparer
. הזרימה של
הפעלת הבדיקה נאכפת על ידי הרתמה עצמה, כך שהיא תמיד
בסדר הנכון.
יש חשיבות לסדר האובייקטים עם אותו תג. לדוגמה, שתיים
תתבצע קריאה ל-target_preparer
אובייקטים שהוגדרו לפי סדר ההגדרה שלהם ב-
את ה-XML. חשוב להבין את זה כי זה יכול לשנות את מצב הסיום של
בהגדרת המכשיר. לדוגמה, הבהוב לאחר התקנת APK לא יהיה
זהה להתקנת APK והבהוב מכיוון שהפלאש ימחק את המכשיר.