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>
<configuration> ট্যাগ দিয়ে সামগ্রিক Tradefed XML আলাদা করা হয়। Tradefed
objects-এর নিজস্ব ট্যাগ আছে, যেমন: build_provider,
target_preparer, test ইত্যাদি। আর্কিটেকচার
বিভাগে এগুলির উদ্দেশ্য আরও বিস্তারিতভাবে
বর্ণনা করা হয়েছে।
প্রতিটি অবজেক্টের সাথে class=-এ সংজ্ঞায়িত অবজেক্টের সাথে যুক্ত জাভা ক্লাস থাকে
যা রানটাইমে সমাধান করা হয়; তাই যতক্ষণ পর্যন্ত ক্লাস সহ JAR ফাইলটি
রান করার সময় Tradefed জাভা ক্লাসপাথে থাকে, ততক্ষণ এটি খুঁজে পাওয়া ও সমাধান করা যাবে।
Tradefed অবজেক্টের অর্ডার
বিভিন্ন ট্যাগ কোন ক্রমে আছে তা গুরুত্বপূর্ণ নয়। যেমন, target_preparer-এর পরে build_provider উল্লেখ করা হলে, কোনও
পার্থক্য হয় না। টেস্ট ইনভোকেশন
এর ফ্লো হার্নেস নিজেই এনফোর্স করে, তাই এটি সবসময়
সঠিক ক্রমে কল করবে।
একই ট্যাগ সহ অবজেক্টের ক্রম গুরুত্বপূর্ণ। যেমন, দুটি
target_preparer অবজেক্টকে XML-এ
তাদের সংজ্ঞা অনুযায়ী কল করা হবে। এটি বোঝা গুরুত্বপূর্ণ কারণ এটি ডিভাইস সেট-আপের
শেষ অবস্থা পরিবর্তন করতে পারে। যেমন, apk ফ্ল্যাশ করে ইনস্টল করা
apk ইনস্টল করে ফ্ল্যাশ করার মতো একই কাজ নয়, কারণ ফ্ল্যাশ করলে ডিভাইস ওয়াইপ হয়ে যাবে।