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.
Instal paket Debian di host jarak jauh dengan mengikuti langkah-langkah di Cuttlefish > Mulai.
Konfigurasi jumlah maksimum perangkat virtual pada host jarak jauh dengan mengikuti langkah-langkah berikut:
- Mengedit
/etc/default/cuttlefish-host-resources
dengan hak istimewa root. - Tetapkan
num_cvd_accounts
ke jumlah maksimum perangkat virtual yang diizinkan di host ini. - Jalankan
sudo systemctl restart cuttlefish-host-resources
. - Jalankan
ifconfig
dan verifikasi jumlah antarmukacvd-wtap-*
.
- Mengedit
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:
- Untuk membuat kunci pribadi dan kunci publik, jalankan
ssh-keygen
pada host ATS. - 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.
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.
Gambar 2. Tindakan perangkat untuk perangkat virtual lokal
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.
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.
Gambar 5. Menguji hasil operasi