Bagian ini menjelaskan internal Tradefed dan hubungannya. Lihat subhalaman tertaut untuk detail selengkapnya.
1. Konfigurasi Uji (konfigurasi XML)
Ringkasan
Konfigurasi pengujian di Tradefed dijelaskan dalam format XML. Memahami struktur konfigurasi adalah kunci untuk menjalankan dan menyesuaikan pengujian.
Struktur konfigurasi TF
Konfigurasi TF global
Konfigurasi Global adalah konfigurasi XML Tradefed khusus yang dimuat saat Tradefed dimulai melalui variabel lingkungan TF_GLOBAL_CONFIG
. Ini memuat objek yang terkait dengan cakupan instans Tradefed yang akan memengaruhi perilaku harness secara keseluruhan.
toko kunci
Keystore memungkinkan injeksi opsi baris perintah ke Tradefed yang berasal dari keystore untuk menghindari referensi nilai secara langsung pada baris perintah. Ini dapat digunakan untuk menyembunyikan kata sandi dari baris perintah dengan mengambil kata sandi dari keystore secara langsung.
2. Manajer perangkat
Pengelola Perangkat bertanggung jawab untuk melacak status perangkat pada instance Tradefed yang sedang berjalan. Aspek seperti status alokasi dan status online dipantau.
3. Uji Penjadwal Perintah
Test Command Scheduler di Tradefed mengambil perintah untuk dijalankan, mengaitkannya dengan perangkat, dan memulai pemanggilan pengujian.
4. Penyedia bangunan
Build Provider adalah langkah pertama dari setiap pemanggilan pengujian. Ini mengunduh sumber daya yang diperlukan untuk menyiapkan dan menjalankan pengujian (membangun gambar, menguji APK, dan banyak lagi.). Itu juga mereferensikannya dalam objek BuildInfo
yang akan diteruskan ke pengujian. Sumber daya yang tersedia secara lokal juga dapat ditautkan di objek BuildInfo
.
5. Persiapan dan Pembersih Target
Target Preparer menawarkan tindakan opsional yang dapat diambil untuk mengonfigurasi target yang sedang diuji ke keadaan tertentu, misalnya mem-flash perangkat, menyetel properti tertentu, dan menyambungkan ke Wi-Fi.
6. Pelari Uji
Test Runner di Tradefed mengacu pada objek yang bertanggung jawab atas eksekusi tes yang sebenarnya. Pelari uji yang berbeda mendorong pelaksanaan uji dengan cara yang berbeda; misalnya, runner uji instrumentasi akan sangat berbeda dari runner uji JUnit.
7. Reporter Hasil
Result Reporter di Tradefed mengacu pada objek yang akan mengirimkan hasil ke tujuan tertentu. Setiap implementasi biasanya dikhususkan untuk back-end hasil yang berbeda. Dan Result Reporter bertugas mengubah format hasil Tradefed menjadi format tujuan.
Desain fleksibel ini memungkinkan pengujian apa pun untuk dilaporkan ke salah satu tujuan hasil dan dengan mudah menambahkan lebih banyak pengujian secara terpisah.
8. Kolektor Metrik
Metrics Collector adalah objek khusus di Tradefed, ortogonal terhadap eksekusi tes. Ini memungkinkan pengumpulan informasi di berbagai titik siklus hidup pengujian (misalnya, awal pengujian, akhir pengujian). Karena kolektor dipisahkan dari tes itu sendiri, poin dapat ditukar, ditambahkan, dan dihapus tanpa harus mengubah tes itu sendiri.
9. Pengaturan di seluruh host
Bagian ini menjelaskan penyiapan yang berlaku untuk menjalankan instans Tradefed penuh. Opsi-opsi ini memengaruhi perilaku harness secara keseluruhan untuk beradaptasi dengan lingkungan yang berbeda, misalnya berada di jaringan terbatas.
10. Fitur tambahan
Bagian berikut menjelaskan penggunaan umum dari objek Tradefed daripada objek Tradefed.
Sharding yang diperdagangkan
Jika korpus pengujian berukuran besar atau membutuhkan waktu lama untuk dijalankan, mungkin saja untuk membaginya ke beberapa perangkat. Kami menyebut pemisahan ini sebagai sharding . Bagian ini menjelaskan cara kerja sharding dan konfigurasinya.
Menggunakan SL4A
Tradefed mendukung lapisan skrip untuk Android, SL4A; ini adalah perangkat otomatisasi untuk memanggil API Android dengan cara yang tidak bergantung pada platform.
Unduhan @Option dinamis
Dalam beberapa kasus, file yang diperlukan oleh pengujian atau operasi tertentu tidak tersedia secara lokal. Fitur ini memungkinkan Tradefed untuk mendapatkan file-file ini dari lokasi yang jauh tanpa melalui Penyedia Build.