ATS OmniLab 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 tentang setiap mode, lihat:
Menyiapkan perangkat virtual lokal
Bagian ini menjelaskan langkah-langkah untuk menyiapkan OmniLab ATS untuk perangkat virtual lokal.
Instal dependensi Cuttlefish
Jalankan perintah berikut untuk memastikan bahwa modul kernel yang diperlukan dimuat:
sudo modprobe -a kvm tun vhost_net vhost_vsockMulai OmniLab ATS dengan perangkat virtual lokal
Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish dihentikan. ATS OmniLab otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada berkonflik dengan instance yang dikelola oleh ATS OmniLab. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.
Untuk mengaktifkan perangkat virtual lokal, jalankan:
mtt start --max_local_virtual_devices NN adalah jumlah maksimum perangkat virtual yang dapat dialokasikan secara bersamaan oleh OmniLab ATS. Nomor 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.
Instal dependensi Cuttlefish
Untuk menginstal dependensi Cuttlefish, ikuti langkah-langkah berikut.
Instal paket Debian di host jarak jauh dengan mengikuti langkah-langkah di Cuttlefish > Get started.
Konfigurasi jumlah maksimum perangkat virtual di host jarak jauh dengan mengikuti langkah-langkah berikut:
- Edit
/etc/default/cuttlefish-host-resourcesdengan hak istimewa root. - Tetapkan
num_cvd_accountske jumlah maksimum perangkat virtual yang diizinkan di host ini. - Jalankan
sudo systemctl restart cuttlefish-host-resources. - Jalankan
ifconfigdan verifikasi jumlah antarmukacvd-wtap-*.
- Edit
Membuat akun SSH
Karena host ATS OmniLab 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 ATS OmniLab 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-keygendi host ATS OmniLab. - Upload dan tambahkan kunci publik ke
~/.ssh/authorized_keysdi 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 $USERMulai OmniLab ATS dengan perangkat virtual jarak jauh
Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish dihentikan. ATS OmniLab otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada berkonflik dengan instance yang dikelola oleh ATS OmniLab. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.
Untuk performa yang lebih baik, sebaiknya siapkan host ATS OmniLab 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 KEYUSER adalah nama akun SSH.
HOST adalah alamat IPv4 host jarak jauh.
N adalah jumlah maksimum perangkat virtual yang dapat dialokasikan secara bersamaan oleh OmniLab ATS.
KEY adalah jalur ke kunci SSH pribadi di host ATS OmniLab.
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 hanya dapat terhubung ke paling banyak satu host jarak jauh. Beberapa host ATS OmniLab tidak dapat terhubung ke satu host jarak jauh secara bersamaan.
Menjalankan pengujian dengan perangkat virtual
Bagian ini menjelaskan langkah-langkah untuk menjalankan pengujian di perangkat virtual lokal atau jarak jauh.
Pilih perangkat
Di daftar perangkat, OmniLab ATS menampilkan perangkat virtual sebagai placeholder, bukan nomor seri 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. Penampung 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 setidaknya satu perangkat virtual, tindakan perangkat terkait akan ditambahkan ke daftar secara otomatis. Tindakan ini terdiri dari parameter TradeFed dan resource pengujian yang diperlukan 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 biasa (misalnya,
aosp_cf_x86_64_only_phone-userdebug di
ci.android.com
), alat mesin virtual dikemas dalam cvd-host_package.tar.gz, dan
image ada di aosp_cf_x86_64_only_phone-img-*.zip. Biner Acloud dibangun di OmniLab 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
Melihat operasi pengujian
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 uji coba