Cấu trúc cấp cao của cấu hình XML Tradefeed

Cấu hình của Tradefeed tuân theo cấu trúc XML để mô tả bài kiểm thử cần chạy và các bước chuẩn bị/thiết lập cần thực hiện.

Về lý thuyết, mọi thứ đều có thể được xác định trong XML bằng một lệnh. Nhưng trong sẽ thiết thực hơn nếu có các tệp XML mẫu cơ sở và tuỳ chỉnh bằng các tham số dòng lệnh bổ sung.

Cấu trúc

<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>

Tệp XML tổng thể có sẵn trong Trade được phân tách bằng các thẻ <configuration>. Tradefed objects được xác định trong các thẻ của riêng chúng, ví dụ: build_provider, target_preparer, test, v.v. Mục đích riêng của các tính năng này được mô tả trong phần hơn trong Cấu trúc .

Mỗi đối tượng có lớp Java liên kết với đối tượng được xác định trong class= được phân giải trong thời gian chạy; miễn là tệp JAR chứa lớp này trên Đường dẫn lớp Java thương mại khi chạy, đường dẫn này sẽ được tìm thấy và giải quyết.

Đơn đặt hàng các đối tượng được trao đổi

Thứ tự của các thẻ khác nhau không quan trọng. Ví dụ: Chế độ đồng ý không khiến nếu build_provider được chỉ định sau target_preparer. Luồng lệnh gọi kiểm thử được chính phần khai thác thực thi, vì vậy nó sẽ luôn gọi theo đúng thứ tự.

Thứ tự của các đối tượng có cùng một thẻ là rất quan trọng. Ví dụ: hai target_preparer đối tượng được xác định sẽ được gọi theo thứ tự định nghĩa trong XML. Điều quan trọng là phải hiểu điều này vì nó có thể thay đổi trạng thái kết thúc của quá trình thiết lập thiết bị. Ví dụ: cài đặt ROM sau đó cài đặt APK sẽ không phải là giống như cài đặt gói ứng dụng và cài đặt ROM vì việc cài đặt ROM sẽ xóa thiết bị.