Perangkat virtual di Android Test Station

Android Test Station mendukung perangkat virtual Cuttlefish yang memungkinkan Anda menjalankan pengujian tanpa perangkat Android fisik. Cuttlefish cocok untuk menguji fungsi yang tidak bergantung pada hardware. Sebelum mulai menggunakan perangkat virtual, ikuti panduan pengguna untuk menginstal Android Test Station.

ATS mendukung perangkat virtual dalam dua mode, lokal dan jarak jauh. Tabel berikut memberikan perbandingan kedua mode tersebut.

Perangkat virtual lokal Perangkat virtual jarak jauh
Berjalan di host pekerja ATS Berjalan pada {i>host<i} jarak jauh yang dapat diakses {i>host<i} pekerja ATS melalui SSH
Berbasis x86 Dapat berupa x86 atau ARM tergantung pada arsitektur {i>host<i}
Lebih mudah disiapkan Lebih rumit untuk disiapkan

Perangkat virtual lokal dan jarak jauh dapat diaktifkan secara independen. Untuk mengetahui detail tentang setiap mode, lihat:

Menyiapkan perangkat virtual lokal

Bagian ini menjelaskan langkah-langkah penyiapan ATS untuk perangkat virtual lokal.

Menginstal dependensi Cuttlefish

Jalankan perintah berikut untuk memastikan modul kernel yang diperlukan sudah dimuat:

sudo modprobe -a kvm tun vhost_net vhost_vsock

Memulai Android Test Station dengan perangkat virtual lokal

Sebelum memulai ATS, pastikan semua instance Cuttlefish dihentikan. ATS otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada bertentangan dengan instance yang dikelola oleh ATS. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.

Untuk mengaktifkan perangkat virtual lokal, jalankan:

mtt start --max_local_virtual_devices N

N adalah jumlah maksimum perangkat virtual yang dapat dialokasikan secara bersamaan oleh ATS. Angka defaultnya adalah 0.

Jika perintah gagal karena node perangkat tidak ada, ikuti langkah-langkah dalam pesan error untuk memuat modul kernel. Jika tetap gagal, mulai ulang mesin.

Menyiapkan perangkat virtual jarak jauh

Bagian ini menjelaskan langkah-langkah penyiapan ATS untuk perangkat virtual jarak jauh.

Menginstal dependensi Cuttlefish

Untuk menginstal dependensi Cuttlefish, ikuti langkah-langkah berikut.

  1. Instal paket Debian di host jarak jauh dengan mengikuti langkah-langkah di Cuttlefish > Mulai.

  2. Konfigurasi jumlah maksimum perangkat virtual pada host jarak jauh dengan mengikuti langkah-langkah berikut:

    1. Mengedit /etc/default/cuttlefish-host-resources dengan hak istimewa root.
    2. Tetapkan num_cvd_accounts ke jumlah maksimum perangkat virtual yang diizinkan di host ini.
    3. Jalankan sudo systemctl restart cuttlefish-host-resources.
    4. Jalankan ifconfig dan verifikasi jumlah antarmuka cvd-wtap-*.

Buat akun SSH

Karena host ATS terhubung ke host jarak jauh melalui SSH, Anda harus menyiapkan akun SSH pada host jarak jauh. Saat ATS memanipulasi file di direktori HOME, sebaiknya Anda membuat akun khusus.

Host ATS memerlukan sepasang kunci SSH untuk login ke host jarak jauh tanpa sandi. Langkah-langkah berikut menjelaskan cara menyiapkan kunci SSH:

  1. Untuk membuat kunci pribadi dan kunci publik, jalankan ssh-keygen pada host ATS.
  2. Upload dan tambahkan kunci publik ke ~/.ssh/authorized_keys pada host jarak jauh.

Jika akun SSH Anda berbeda dengan yang digunakan untuk menginstal dependensi Cuttlefish, untuk mengizinkan akun SSH meluncurkan Cuttlefish, jalankan perintah ini pada host jarak jauh:

sudo usermod -aG kvm,cvdnetwork,render $USER

Mulai ATS dengan perangkat virtual jarak jauh

Sebelum memulai ATS, pastikan semua instance Cuttlefish dihentikan. ATS otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada bertentangan dengan instance yang dikelola oleh ATS. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.

Untuk performa yang lebih baik, sebaiknya siapkan host ATS dan host jarak jauh di jaringan area lokal.

Untuk mengaktifkan perangkat virtual jarak jauh, jalankan perintah ini di host ATS:

mtt start --remote_virtual_devices USER@HOST/N \
--remote_ssh_key KEY

USER adalah nama akun SSH.

HOST adalah alamat IPv4 dari host jarak jauh.

N adalah jumlah maksimum perangkat virtual yang dapat dialokasikan secara bersamaan oleh ATS.

KEY adalah jalur ke kunci SSH pribadi pada host ATS.

Perintah tersebut menguji koneksi ke host jarak jauh sebelum memulai ATS. Jika muncul pesan peringatan seperti The specified --remote_virtual_devices and --remote_ssh_key are invalid. di konsol, Anda harus memeriksa penyiapan SSH Anda.

Untuk menghindari konflik sumber daya, {i>host<i} ATS dapat terhubung ke maksimum satu {i>host<i} jarak jauh. Beberapa host ATS tidak dapat terhubung ke satu host jarak jauh secara bersamaan.

Menjalankan pengujian dengan perangkat virtual

Bagian ini menjelaskan langkah-langkah untuk menjalankan pengujian pada perangkat virtual lokal atau jarak jauh.

Pilih perangkat

Dalam daftar perangkat, ATS menampilkan perangkat virtual sebagai placeholder, bukan nomor serinya yang sebenarnya. Placeholder ditampilkan dalam format HOSTNAME:local-virtual-device-ID untuk perangkat virtual lokal; remote-virtual-ADDRESS-ID untuk perangkat virtual jarak jauh. Statusnya adalah Available atau Allocation. Placeholder dalam status Available menunjukkan bahwa perangkat virtual tidak berjalan dan dapat dialokasikan untuk pengujian.

Pilih Perangkat Virtual

Gambar 1. Memilih perangkat virtual

Tambahkan tindakan perangkat

Jika Anda memilih setidaknya satu perangkat virtual, tindakan perangkat terkait harus ditambahkan ke daftar secara otomatis. Tindakan ini terdiri dari parameter Tradisional yang diperlukan dan resource pengujian untuk membuat perangkat virtual.

Tindakan Perangkat Virtual Lokal

Gambar 2. Tindakan perangkat untuk perangkat virtual lokal

Tindakan Perangkat Virtual Jarak Jauh

Gambar 3. Tindakan perangkat untuk perangkat virtual jarak jauh

Menetapkan resource pengujian

Perangkat virtual cumi-cumi memerlukan tiga resource pengujian, yaitu alat mesin virtual, image, dan Acloud. Dalam build Cuttlefish standar (misalnya, aosp_cf_x86_64_phone pada ci.android.com ), alat virtual machine dikemas dalam cvd-host_package.tar.gz, dan image berada di aosp_cf_x86_64_phone-img-*.zip. Biner Acloud terpasang di ATS dan kompatibel dengan semua versi Cuttlefish. URL download default biner Acloud hanya perlu diubah untuk tujuan proses debug.

Resource Pengujian Perangkat Virtual

Gambar 4. Menguji resource untuk perangkat virtual

Lihat pengujian yang dijalankan

Log perangkat, termasuk kernel.log, host_log.txt, dan launcher.log dikumpulkan dalam folder file output. Klik View Output Files untuk melihatnya.

Uji Hasil yang Dijalankan

Gambar 5. Menguji hasil operasi