Ikhtisar Arsitektur Federasi Perdagangan

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.

Detail Konfigurasi Global

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.

Detail toko kunci

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.

Detail pecahan

Menggunakan SL4A

Tradefed mendukung lapisan skrip untuk Android, SL4A; ini adalah perangkat otomatisasi untuk memanggil API Android dengan cara yang tidak bergantung pada platform.

SL4A dengan detail Tradefed

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.

Unduhan @option dinamis