OmniLab ATS 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 OmniLab ATS.
OmniLab 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 di host jarak jauh yang dapat diakses oleh host pekerja ATS melalui SSH |
Berbasis x86 | Dapat berupa x86 atau ARM, bergantung pada arsitektur host |
Lebih mudah disiapkan | Lebih rumit untuk disiapkan |
Perangkat virtual lokal dan jarak jauh dapat diaktifkan secara terpisah. Untuk mengetahui detail setiap mode, lihat:
Menyiapkan perangkat virtual lokal
Bagian ini menjelaskan langkah-langkah untuk menyiapkan ATS OmniLab 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 OmniLab ATS dengan perangkat virtual lokal
Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish dihentikan. OmniLab ATS otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada bertentangan dengan instance yang dikelola oleh OmniLab 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 OmniLab ATS secara
bersamaan. Angka defaultnya adalah 0.
Jika perintah gagal karena node perangkat tidak ada, ikuti langkah-langkah dalam pesan error untuk memuat modul kernel. Jika terus gagal, mulai ulang komputer.
Menyiapkan perangkat virtual jarak jauh
Bagian ini menjelaskan langkah-langkah untuk menyiapkan OmniLab 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:
- Edit
/etc/default/cuttlefish-host-resources
dengan hak istimewa root. - Tetapkan
num_cvd_accounts
ke jumlah maksimum perangkat virtual yang akan diizinkan di host ini. - Jalankan
sudo systemctl restart cuttlefish-host-resources
. - Jalankan
ifconfig
dan verifikasi jumlah antarmukacvd-wtap-*
.
- Edit
Buat akun SSH
Karena host OmniLab ATS terhubung ke host jarak jauh melalui SSH, Anda harus menyiapkan akun SSH di host jarak jauh. Karena OmniLab ATS memanipulasi file di direktori HOME, sebaiknya buat akun khusus.
Host OmniLab 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
di host OmniLab ATS. - Upload dan tambahkan kunci publik ke
~/.ssh/authorized_keys
pada host jarak jauh.
Jika akun SSH Anda berbeda dengan akun yang digunakan untuk menginstal dependensi Cuttlefish, agar akun SSH dapat meluncurkan Cuttlefish, jalankan perintah ini di host jarak jauh:
sudo usermod -aG kvm,cvdnetwork,render $USER
Memulai OmniLab ATS dengan perangkat virtual jarak jauh
Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish dihentikan. OmniLab ATS otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada bertentangan dengan instance yang dikelola oleh OmniLab ATS. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.
Untuk performa yang lebih baik, sebaiknya siapkan host OmniLab ATS dan host jarak jauh di jaringan area lokal.
Untuk mengaktifkan perangkat virtual jarak jauh, jalankan perintah ini di host OmniLab ATS:
mtt start --remote_virtual_devices USER@HOST/N \
--remote_ssh_key KEY
USER
adalah nama akun SSH.
HOST
adalah alamat IPv4 host jarak jauh.
N
adalah jumlah maksimum perangkat virtual yang dapat dialokasikan OmniLab ATS secara
bersamaan.
KEY
adalah jalur ke kunci SSH pribadi di host OmniLab ATS.
Perintah ini menguji koneksi ke host jarak jauh sebelum memulai OmniLab ATS.
Jika menampilkan pesan peringatan seperti
The specified --remote_virtual_devices and --remote_ssh_key are invalid.
di konsol, Anda harus memeriksa penyiapan SSH.
Untuk menghindari konflik resource, host ATS OmniLab dapat terhubung maksimal ke satu host jarak jauh. Beberapa host OmniLab 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 OmniLab 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 Tersedia atau Dialokasikan. Placeholder dalam status Tersedia menunjukkan bahwa perangkat virtual tidak berjalan dan dapat dialokasikan untuk pengujian.
Gambar 1. Memilih perangkat virtual
Menambahkan tindakan perangkat
Jika Anda memilih minimal satu perangkat virtual, tindakan perangkat terkait akan 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 Cuttlefish memerlukan tiga resource pengujian, alat virtual machine, 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 terintegrasi
di ATS OmniLab dan kompatibel dengan semua versi Cuttlefish. URL download default dari biner Acloud hanya perlu diubah untuk tujuan proses debug.
Gambar 4. Menguji resource untuk perangkat virtual
Melihat pengujian yang dijalankan
Log perangkat, termasuk kernel.log
, host_log.txt
, dan launcher.log
,
dikumpulkan di folder file output. Klik Lihat File Output untuk melihatnya.
Gambar 5. Hasil pengujian