Arsitektur yang diperdagangkan

Bagian ini menjelaskan internal Tradefed dan hubungannya. Lihat subhalaman tertaut untuk rincian lebih lanjut.

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 ketika Tradefed dimulai melalui variabel lingkungan TF_GLOBAL_CONFIG . Ini memuat objek yang terkait dengan cakupan instance Tradefed yang akan memengaruhi perilaku harness secara keseluruhan.

Detail Konfigurasi Global

Penyimpanan kunci

Keystore memungkinkan injeksi opsi baris perintah ke Tradefed yang berasal dari keystore untuk menghindari referensi nilai langsung pada baris perintah. Ini dapat digunakan untuk menyembunyikan kata sandi dari baris perintah dengan mengambil kata sandi dari keystore secara langsung.

Detail penyimpanan kunci

Pengaturan perangkat

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

Uji penjadwal perintah

Penjadwal perintah pengujian di Tradefed menjalankan perintah, mengaitkannya dengan perangkat, dan memulai pemanggilan pengujian.

Membangun penyedia

Penyedia build adalah langkah pertama dari setiap pemanggilan pengujian. Ini mengunduh sumber daya yang diperlukan untuk menyiapkan dan menjalankan pengujian (membuat image, 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 ke objek BuildInfo .

Penyusun dan pembersih target

Penyiap target menawarkan tindakan opsional yang dapat diambil untuk mengonfigurasi target yang diuji ke keadaan tertentu, misalnya mem-flash perangkat, mengatur properti tertentu, dan menghubungkan ke Wi-Fi.

Pelari ujian

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

Pelapor hasil

Pelapor hasil di Tradefed mengacu pada objek yang akan mengirimkan hasil ke tujuan tertentu. Setiap implementasi biasanya dikhususkan untuk hasil back-end yang berbeda. Dan pelapor hasil bertugas mengubah format hasil Tradefed ke format tujuan.

Desain fleksibel ini memungkinkan tes apa pun untuk dilaporkan ke tujuan hasil mana pun dan dengan mudah menambahkan lebih banyak tes secara terpisah.

Kolektor metrik

Pengumpul metrik adalah objek khusus di Tradefed, ortogonal terhadap pelaksanaan pengujian. Hal ini memungkinkan pengumpulan informasi di berbagai titik siklus hidup 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 pengaturan yang berlaku untuk menjalankan instans Tradefed penuh. Opsi-opsi ini mempengaruhi perilaku harness secara keseluruhan untuk beradaptasi dengan lingkungan yang berbeda, misalnya berada dalam jaringan terbatas.

Fitur tambahan

Bagian berikut menjelaskan penggunaan umum objek Tradefed dan bukan objek Tradefed.

Pecahan yang diperdagangkan

Jika korpus pengujian berukuran besar atau membutuhkan waktu lama untuk dijalankan, maka dimungkinkan untuk membaginya ke beberapa perangkat. Kami menyebut pemisahan ini sebagai sharding . Bagian ini menjelaskan cara kerja sharding dan cara konfigurasinya.

Detail pembagian

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 untuk pengujian atau operasi tertentu tidak tersedia secara lokal. Fitur ini memungkinkan Tradefed mendapatkan file-file ini dari lokasi jarak jauh tanpa melalui penyedia build.

Unduhan @option dinamis

,

Bagian ini menjelaskan internal Tradefed dan hubungannya. Lihat subhalaman tertaut untuk rincian lebih lanjut.

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 ketika Tradefed dimulai melalui variabel lingkungan TF_GLOBAL_CONFIG . Ini memuat objek yang terkait dengan cakupan instance Tradefed yang akan memengaruhi perilaku harness secara keseluruhan.

Detail Konfigurasi Global

Penyimpanan kunci

Keystore memungkinkan injeksi opsi baris perintah ke Tradefed yang berasal dari keystore untuk menghindari referensi nilai langsung pada baris perintah. Ini dapat digunakan untuk menyembunyikan kata sandi dari baris perintah dengan mengambil kata sandi dari keystore secara langsung.

Detail penyimpanan kunci

Pengaturan perangkat

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

Uji penjadwal perintah

Penjadwal perintah pengujian di Tradefed menjalankan perintah, mengaitkannya dengan perangkat, dan memulai pemanggilan pengujian.

Membangun penyedia

Penyedia build adalah langkah pertama dari setiap pemanggilan pengujian. Ini mengunduh sumber daya yang diperlukan untuk menyiapkan dan menjalankan pengujian (membuat image, 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 ke objek BuildInfo .

Penyusun dan pembersih target

Penyiap target menawarkan tindakan opsional yang dapat diambil untuk mengonfigurasi target yang diuji ke keadaan tertentu, misalnya mem-flash perangkat, mengatur properti tertentu, dan menghubungkan ke Wi-Fi.

Pelari ujian

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

Pelapor hasil

Pelapor hasil di Tradefed mengacu pada objek yang akan mengirimkan hasil ke tujuan tertentu. Setiap implementasi biasanya dikhususkan untuk hasil back-end yang berbeda. Dan pelapor hasil bertugas mengubah format hasil Tradefed ke format tujuan.

Desain fleksibel ini memungkinkan tes apa pun untuk dilaporkan ke tujuan hasil mana pun dan dengan mudah menambahkan lebih banyak tes secara terpisah.

Kolektor metrik

Pengumpul metrik adalah objek khusus di Tradefed, ortogonal terhadap pelaksanaan pengujian. Hal ini memungkinkan pengumpulan informasi di berbagai titik siklus hidup 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 pengaturan yang berlaku untuk menjalankan instans Tradefed penuh. Opsi-opsi ini mempengaruhi perilaku harness secara keseluruhan untuk beradaptasi dengan lingkungan yang berbeda, misalnya berada dalam jaringan terbatas.

Fitur tambahan

Bagian berikut menjelaskan penggunaan umum objek Tradefed dan bukan objek Tradefed.

Pecahan yang diperdagangkan

Jika korpus pengujian berukuran besar atau membutuhkan waktu lama untuk dijalankan, maka dimungkinkan untuk membaginya ke beberapa perangkat. Kami menyebut pemisahan ini sebagai sharding . Bagian ini menjelaskan cara kerja sharding dan cara konfigurasinya.

Detail pembagian

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 untuk pengujian atau operasi tertentu tidak tersedia secara lokal. Fitur ini memungkinkan Tradefed mendapatkan file-file ini dari lokasi jarak jauh tanpa melalui penyedia build.

Unduhan @option dinamis