Arsitektur Tradefed

Bagian ini menjelaskan bagian dalam Tradefed dan hubungannya. Lihat subhalaman tertaut 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. Class 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 secara langsung di command line. 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 dimonitor.

Menguji penjadwal perintah

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

Membuat penyedia

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

Pembuat dan pembersih target

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

Runner pengujian

Runner pengujian di Tradefed mengacu pada objek yang bertanggung jawab atas eksekusi pengujian yang sebenarnya. Runner pengujian yang berbeda mendorong eksekusi pengujian dengan cara yang berbeda; misalnya, runner pengujian instrumentasi akan sangat berbeda dengan runner pengujian JUnit.

Pelapor hasil

Pelapor hasil di Tradefed mengacu pada objek yang akan mengirim hasil ke tujuan tertentu. Setiap implementasi biasanya dikhususkan untuk berbagai backend hasil. Dan pelapor hasil bertugas mengonversi format hasil Tradefed ke format tujuan.

Desain fleksibel ini memungkinkan pengujian apa pun melaporkan ke salah satu tujuan hasil dan menambahkan lebih banyak pengujian dengan mudah secara terpisah.

Pengumpul metrik

Pengumpul metrik adalah objek khusus di Tradefed, yang ortogonal dengan eksekusi pengujian. Hal ini memungkinkan pengumpulan informasi di berbagai titik siklus proses pengujian (misalnya, awal pengujian, akhir pengujian). Karena kolektor dipisahkan dari pengujian itu sendiri, poin 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 berjalan. 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 objek Tradefed, bukan objek TradeF.

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 mengonfigurasinya.

Detail sharding

Menggunakan SL4A

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

SL4A dengan detail Tradefed

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.

Download @option dinamis