Templat dan disertakan dalam konfigurasi XML Tradefed

Membuat satu konfigurasi XML monolitik untuk mendefinisikan pengujian tidak selalu praktis. Jika Anda ingin menggunakan kembali bagian dari pengaturan untuk menjalankan tes serupa, Anda akan dipaksa untuk menyalin dan memelihara dua file XML raksasa.

Di sinilah template dan tag include dalam definisi Konfigurasi XML Tradefed berguna. Mereka memungkinkan Anda menyetel placeholder di beberapa konfigurasi XML untuk menambahkan bagian dari konfigurasi XML lainnya.

Contoh definisi untuk templat

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <template-include name="preparers" default="empty" />

    <template-include name="test" default="empty" />

    <template-include name="reporters" default="empty" />
</configuration>

Templat adalah tempat penampung dengan name untuk mereferensikannya, dan bidang default opsional. Bidang default mendefinisikan XML pengganti default yang harus digunakan.

Untuk mengganti templat untuk konfigurasi tertentu, parameter perintah berikut perlu ditambahkan ke baris perintah:

--template:map <name of template>=<replacement XML config path>

--template:map preparers=empty

Misalnya:

<template-include name="preparers" default="empty" />

Referensi empty dalam hal ini mengacu pada konfigurasi empty.xml yang tidak berisi apa pun; kami menggunakannya sebagai referensi kami untuk mengganti dengan apa pun .

Jalur konfigurasi XML bisa absolut atau relatif terhadap folder res/config di dalam sumber daya JAR Tradefed. Berikut beberapa lokasinya:

  • alat/federasi dagang/inti/res/config
  • alat/federasi dagang/inti/tes/res/config
  • tools/tradedeferation/kontribusi/res/config

Contoh definisi termasuk

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <include name="empty"/>
</configuration>

Penyertaan lebih sederhana daripada Templat karena tidak memerlukan argumen baris perintah; mereka secara langsung memperluas XML yang direferensikan di tag name . Mirip dengan templat, jalur ke konfigurasi bisa bersifat absolut atau relatif. Namun, untuk includes , kami merekomendasikan hanya menggunakan jalur relatif karena lebih portabel di Tradefed. Jalur absolut tidak akan valid jika Tradefed dipindahkan ke komputer lain.

Kesalahan konfigurasi

Jika terjadi kesalahan konfigurasi, seperti ketika XML pengganti tidak dapat ditemukan, Tradefed akan memunculkan ConfigurationException dengan deskripsi tentang apa yang tampaknya hilang atau salah dikonfigurasi.