進行交易 XML 設定的高階結構

交易設定遵循 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 會以 <configuration> 標記分隔。Tradefed objects 已定義在各自的標記中,例如:build_providertarget_preparertest等。進一步說明其個別用途 請參閱架構一文 專區。

每個物件都有與 class= 中定義的物件相關聯的 Java 類別 都會在執行階段解析只要包含類別的 JAR 檔案 執行時,就能找出並解決這個 Java 類別路徑上的問題。

交易物件順序

各標記的順序沒有影響。舉例來說 如果在 target_preparer 之後指定 build_provider,則會產生差異。流量 測試叫用本身會強制執行,因此一律會呼叫 排列正確順序

相同標記的物件順序會有影響。例如,兩個 系統會按照以下方式呼叫已定義的 target_preparer 物件: XML 中的檔案。請務必瞭解這一點,因為這可能會改變 以及裝置設定例如,在刷新後安裝 APK 並不會導致 與安裝 APK 並刷新時相同,因為閃光燈會抹除裝置資料。