Bagian ini menjelaskan internal Tradefed dan hubungannya. Lihat subhalaman yang ditautkan untuk mengetahui detail selengkapnya.
Konfigurasi pengujian
Konfigurasi pengujian di Tradefed dijelaskan dalam format XML. Memahami struktur konfigurasi adalah kunci untuk menjalankan dan menyesuaikan pengujian.
Struktur konfigurasi TF
Konfigurasi TF global
File Konfigurasi Global adalah konfigurasi XML Tradefed khusus yang dimuat saat Tradefed dimulai melalui variabel lingkungan TF_GLOBAL_CONFIG
. Objek
ini memuat objek yang terkait dengan cakupan instance Tradefed yang akan memengaruhi
perilaku harness secara keseluruhan.
Keystore
Keystore memungkinkan penyisipan opsi command line ke Tradefed yang berasal dari keystore untuk menghindari referensi nilai secara langsung di command line. Hal ini dapat digunakan untuk menyembunyikan sandi dari command line dengan mengambil sandi dari keystore secara langsung.
Pengelola perangkat
Pengelola perangkat bertanggung jawab untuk melacak status perangkat pada instance Tradefed yang sedang berjalan. Aspek seperti status alokasi dan status online dipantau.
Menguji penjadwal perintah
Penjadwal perintah pengujian di Tradefed menerima perintah untuk dijalankan, mengaitkannya dengan perangkat, dan memulai pemanggilan pengujian.
Penyedia build
Penyedia build adalah langkah pertama dari setiap pemanggilan pengujian. Layanan ini mendownload resource
yang diperlukan untuk menyiapkan dan menjalankan pengujian (membuat image, APK pengujian, dan lainnya). Kode ini juga mereferensikannya dalam objek BuildInfo
yang akan diteruskan ke pengujian. Sumber daya yang tersedia secara lokal juga dapat ditautkan di objek BuildInfo
.
Penyiapan dan pembersihan target
Penyiap target menawarkan tindakan opsional yang dapat dilakukan untuk mengonfigurasi target yang sedang diuji ke dalam status tertentu, misalnya mem-flash perangkat, menyetel properti tertentu, dan menghubungkan ke Wi-Fi.
Penguji
Runner pengujian di Tradefed mengacu pada objek yang bertanggung jawab atas eksekusi pengujian sebenarnya. Setiap peluncur pengujian menjalankan eksekusi pengujian dengan cara yang berbeda; misalnya, peluncur pengujian instrumentasi akan sangat berbeda dari peluncur pengujian JUnit.
Pelapor hasil
Pelapor hasil di Tradefed mengacu pada objek yang akan mengirimkan hasil ke tujuan tertentu. Setiap implementasi biasanya dikhususkan untuk backend hasil yang berbeda. Pelapor hasil bertanggung jawab untuk mengonversi format hasil Tradefed menjadi format tujuan.
Desain yang fleksibel ini memungkinkan pengujian apa pun dilaporkan ke tujuan hasil mana pun dan lebih banyak pengujian dapat ditambahkan dengan mudah secara terpisah.
Pengumpul metrik
Pengumpul metrik adalah objek khusus di Tradefed, yang ortogonal terhadap eksekusi pengujian. Hal ini memungkinkan pengumpulan informasi di berbagai titik siklus proses pengujian (misalnya, awal pengujian, akhir pengujian). Karena pengumpul data tidak terkait dengan pengujian itu sendiri, poin dapat ditukar, ditambahkan, dan dihapus tanpa harus mengubah pengujian itu sendiri.
Penyiapan di seluruh host
Bagian ini menjelaskan penyiapan yang berlaku untuk menjalankan instance Tradefed lengkap. Opsi ini memengaruhi perilaku harness secara keseluruhan untuk beradaptasi dengan lingkungan yang berbeda, misalnya berada di jaringan yang dibatasi.
Fitur tambahan
Bagian berikut menjelaskan penggunaan umum Tradefed, bukan objek Tradefed.
Sharding Tradefed
Jika korpus pengujian berukuran besar atau memerlukan waktu lama untuk dieksekusi, Anda dapat membaginya di beberapa perangkat. Kami menyebut pemisahan ini sebagai sharding. Bagian ini menjelaskan cara kerja sharding dan cara konfigurasinya.
Menggunakan SL4A
Tradefed mendukung lapisan pembuatan skrip untuk Android, SL4A; ini adalah set alat otomatisasi untuk memanggil Android API secara independen dari platform.
Download @option dinamis
Dalam beberapa kasus, file yang diperlukan oleh pengujian atau beberapa operasi tertentu tidak tersedia secara lokal. Fitur ini memungkinkan Tradefed mendapatkan file ini dari lokasi jarak jauh tanpa melalui penyedia build.