Arsitektur Tradefed

Bagian ini menjelaskan bagian 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. File ini memuat objek yang terkait dengan cakupan instance Tradefed yang akan memengaruhi perilaku harness secara keseluruhan.

Detail Konfigurasi Global

Keystore

Keystore memungkinkan injeksi opsi command line ke Tradefed yang berasal dari keystore untuk menghindari referensi nilai langsung di command line. Hal ini dapat digunakan untuk menyembunyikan sandi dari command line dengan mengambil sandi dari keystore secara langsung.

Detail keystore

Pengelola perangkat

Pengelola perangkat bertanggung jawab untuk melacak status perangkat pada instance Tradefed yang sedang berjalan. Aspek seperti status alokasi dan status online dipantau.

Penjadwal perintah pengujian

Penjadwal perintah pengujian di Tradefed mengambil perintah untuk dijalankan, mengaitkannya dengan perangkat, dan memulai pemanggilan pengujian.

Penyedia build

Penyedia build adalah langkah pertama dari setiap pemanggilan pengujian. Penyedia build mendownload resource yang diperlukan untuk menyiapkan dan menjalankan pengujian (membuat image, APK pengujian, dan lainnya). Penyedia build juga mereferensikannya dalam objek BuildInfo yang akan diteruskan ke pengujian. Resource yang tersedia secara lokal juga dapat ditautkan dalam objek BuildInfo.

Penyiapan dan pembersih target

Penyiapan target menawarkan tindakan opsional yang dapat dilakukan untuk mengonfigurasi target yang sedang diuji ke status tertentu, misalnya mem-flash perangkat, menetapkan properti tertentu, dan terhubung ke Wi-Fi.

Pelaksana pengujian

Pelaksana pengujian di Tradefed mengacu pada objek yang bertanggung jawab atas eksekusi pengujian sebenarnya. Pelaksana pengujian yang berbeda akan mendorong eksekusi uji dengan cara yang berbeda; misalnya, pelaksana uji instrumentasi akan sangat berbeda dengan pelaksana 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 ke format tujuan.

Desain yang fleksibel ini memungkinkan pengujian apa pun untuk melaporkan ke tujuan hasil mana pun dan dengan mudah menambahkan lebih banyak pengujian secara terisolasi.

Pengumpul metrik

Pengumpul metrik adalah objek khusus di Tradefed, ortogonal ke eksekusi pengujian. Pengumpul metrik memungkinkan pengumpulan informasi pada berbagai titik siklus proses pengujian (misalnya, awal pengujian, akhir pengujian). Karena pengumpul metrik dipisahkan dari pengujian itu sendiri, titik dapat ditukar, ditambahkan, dan dihapus tanpa harus mengubah pengujian itu sendiri.

Penyiapan seluruh host

Bagian ini menjelaskan penyiapan yang berlaku untuk instance Tradefed lengkap yang sedang berjalan. Opsi ini memengaruhi perilaku harness secara keseluruhan agar dapat 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 besar atau memerlukan waktu lama untuk dieksekusi, korpus pengujian dapat dibagi di beberapa perangkat. Pembagian ini disebut sharding. Bagian ini menjelaskan cara kerja sharding dan cara konfigurasinya.

Detail sharding

Menggunakan SL4A

Tradefed mendukung lapisan skrip untuk Android, SL4A; ini adalah kumpulan alat otomatisasi untuk memanggil Android API secara independen platform.

Detail SL4A dengan Tradefed

Download @option dinamis

Dalam beberapa kasus, file yang diperlukan oleh pengujian atau operasi tertentu tidak tersedia secara lokal. Fitur ini memungkinkan Tradefed mendapatkan file ini dari lokasi jarak jauh tanpa melalui penyedia build.

Download @option dinamis