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>
整體 Tradefed XML 會以 <configuration>
標記分隔。Tradefed
objects
已定義在各自的標記中,例如:build_provider
、
target_preparer
、test
等。進一步說明其個別用途
請參閱架構一文
專區。
每個物件都有與 class=
中定義的物件相關聯的 Java 類別
都會在執行階段解析只要包含類別的 JAR 檔案
執行時,就能找出並解決這個 Java 類別路徑上的問題。
Tradefed 物件的訂單
不同標記的順序沒有影響。舉例來說,如果在 target_preparer
後指定 build_provider
,兩者沒有差異。流量
測試叫用本身會強制執行,因此一律會呼叫
排列正確順序
同一個標記的物件順序確實很重要。例如,兩個
系統會按照以下方式呼叫已定義的 target_preparer
物件:
XML 中的檔案。請務必瞭解這項資訊,因為這可能會變更裝置設定的最終狀態。例如,在刷新後安裝 APK 並不會導致
與安裝 APK 並刷新時相同,因為閃光燈會抹除裝置資料。