OmniLab Android Test Station

OmniLab ATS adalah alat pengujian yang dapat digunakan oleh developer Android dan engineer pengujian untuk menggunakan antarmuka pengguna guna menjalankan suite pengujian Android standar, seperti Compatibility Test Suite (CTS) Android. Alat ini berfungsi sebagai antarmuka web untuk berbagai framework pengujian, seperti Trade Federation (TF) dan Google Mobly, yang memungkinkan Anda menjalankan CTS dan pengujian multiperangkat pada serangkaian perangkat pengujian dengan penyiapan minimal, serta menetapkan jadwal untuk menjalankan pengujian secara berkelanjutan.

Pengantar OmniLab ATS 2.0

OmniLab ATS 2.0 memigrasikan infrastruktur eksekusi uji yang mendasarinya dari Trade Federation ke OmniLab. Perubahan ini menghadirkan backend yang lebih kuat dan efisien, sekaligus mempertahankan antarmuka pengguna dan alur kerja OmniLab ATS 1.0.

Manfaat utama OmniLab ATS 2.0:

  • Infrastruktur yang dimodernisasi: Memanfaatkan platform OmniLab untuk meningkatkan stabilitas dan performa.
  • Transisi yang lancar: Tidak ada perubahan pada UI web atau alur kerja eksekusi uji inti.
  • Siap untuk masa depan: Selaras dengan infrastruktur pengujian terpadu Google, sehingga memungkinkan adopsi fitur baru yang lebih cepat.

OmniLab ATS 2.0 menyertakan fitur baru seperti update rencana pengujian massal, alokasi perangkat lanjutan, dan lainnya yang akan hadir. Periksa catatan rilis untuk mengetahui update.

Mengupgrade ke OmniLab ATS 2.0:

Untuk menggunakan OmniLab ATS 2.0, Anda harus mengupgrade stasiun ke build R52 atau yang lebih baru. Gunakan flag --force_ats_version 2 untuk beralih ke Omnilab ATS 2.0 baru, dan flag --force_update dengan perintah mtt start untuk mengupgrade ke build terbaru:

mtt start --force_ats_version 2 --force_update

Selama periode migrasi, sebaiknya gunakan tag dogfood untuk mengakses build stabil terbaru dengan fitur OmniLab ATS 2.0:

mtt start --force_ats_version 2 --tag dogfood --force_update

Kami berencana menjadikan OmniLab ATS 2.0 sebagai versi default pada Kuartal 3 tahun 2026. Kami berencana untuk menghentikan OmniLab ATS 1.0 secara bertahap pada akhir tahun 2026.

Untuk mengetahui detail selengkapnya tentang update tertentu, perbedaan umum, dan panduan upgrade, lihat Panduan Upgrade OmniLab ATS 2.0.

Menyiapkan ATS OmniLab

Bagian ini menjelaskan cara menginstal dan menyiapkan OmniLab ATS.

OmniLab ATS menggunakan kode sumber dari lokasi berikut:

Menginstal ATS OmniLab

Ikuti persyaratan hardware dan software untuk suite pengujian yang Anda jalankan.

Persyaratan untuk CTS dapat ditemukan di source.android.com.

Tidak ada persyaratan hardware tambahan untuk OmniLab ATS, tetapi sebaiknya gunakan persyaratan host CTS sebagai titik awal.

Ada dua cara untuk menginstal OmniLab ATS:

Menginstal dengan program penginstal

Program penginstal didukung di Ubuntu 22.04 dan yang lebih baru. Penginstal menginstal dan mengonfigurasi semua program dan resource yang diperlukan untuk menjalankan OmniLab ATS.

Untuk menggunakan program penginstalan:

  1. Jalankan program penginstal:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Jalankan mtt version untuk memeriksa versi OmniLab ATS CLI yang diinstal.

Instal secara manual

Instal Docker
  1. Ikuti petunjuk untuk menginstal Docker Community Edition (CE) di mesin Linux Anda.

  2. Ikuti langkah-langkah pasca-penginstalan untuk mengelola Docker sebagai pengguna non-root.

  3. Anda mungkin perlu memulai ulang jendela terminal atau logout dan login lagi agar perubahan izin diterapkan.

Menginstal Python 3

CLI ATS OmniLab memerlukan Ubuntu 22.04 atau yang lebih baru. CLI diverifikasi terhadap Python versi 3.10 hingga 3.13.

Untuk menginstal Python 3, jalankan perintah berikut:

sudo apt-get update
sudo apt install python3 python3-distutils

Jika Anda memerlukan versi Python 3 yang tidak disertakan dalam distribusi standar, tambahkan repositori untuk Python 3 terlebih dahulu dengan melakukan salah satu hal berikut:

  • Jalankan perintah ini:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Bangun dan instal repositori dari sumber.

Untuk menginstal versi Python 3 tertentu (misalnya, 3.10), jalankan perintah berikut:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Mendapatkan OmniLab ATS CLI

Download paket antarmuka command line (CLI) di sini.

Memulai OmniLab ATS

Mulai ATS OmniLab dengan perintah berikut:

mtt start

Saat pertama kali dimulai, UI mungkin memerlukan waktu beberapa menit untuk muncul. CLI menampilkan URL web untuk mengakses UI di browser. Secara default, URL web adalah localhost:8000. Jika perlu, Anda dapat mengubah port default saat memulai dengan flag --port.

Jika versi yang lebih baru tersedia, Anda dapat mengupdate ke versi saat ini. Anda dapat memeriksa Catatan Rilis untuk mengetahui rilis terbaru.

Untuk mengupdate ke versi saat ini, jalankan:

mtt start --force_update

Untuk menghentikan aplikasi, jalankan:

mtt stop

Untuk melihat daftar perintah lainnya, gunakan:

mtt --help

Mencadangkan dan memulihkan database

Untuk mencadangkan database ATS OmniLab, hentikan aplikasi dan jalankan perintah berikut, yang mencadangkan database saat ini ke dalam file TAR bernama mtt-backup.tar di direktori utama Anda:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

Untuk memulihkan, jalankan perintah berikut sebelum memulai aplikasi:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

Wizard Penyiapan

Setelah Anda menginstal dan menjalankan OmniLab ATS untuk pertama kalinya, Wizard Penyiapan akan memandu Anda melalui beberapa langkah untuk membantu menyesuaikan alat ini dengan lingkungan Anda. Setiap perubahan yang Anda buat di sini dapat dikonfigurasi ulang nanti melalui halaman Setelan.

Memulihkan cadangan konfigurasi

Jika Anda memiliki file konfigurasi yang dicadangkan dari host ATS OmniLab lain, Anda dapat mengupload file tersebut untuk menyalin konfigurasi apa pun yang diubah dari host tersebut dengan mengklik tombol Upload File.

Memulihkan Cadangan Konfigurasi

Gambar 1. Memulihkan Cadangan Konfigurasi.

Menetapkan akun layanan default

Anda dapat menetapkan akun layanan yang digunakan OmniLab ATS secara default saat mengakses resource Anda (misalnya, Google Cloud Storage, Google Drive). Untuk mengautentikasi akun layanan Anda, klik Upload Service Account Key dan pilih file kunci JSON akun layanan Anda.

Menetapkan Akun Layanan

Gambar 2. Menetapkan akun layanan.

Jika akun layanan berhasil diautentikasi, alamat email akun akan muncul di pojok kanan atas halaman. Untuk mengubah akun layanan, klik nama akun, hapus akun default saat ini, dan upload kunci akun layanan baru.

Mengubah akun layanan

Gambar 3. Mengubah akun layanan.

Mengimpor set konfigurasi

Set konfigurasi adalah paket konfigurasi untuk menjalankan suite pengujian, termasuk tindakan perangkat terkait, dan saluran build. Set konfigurasi dihosting di bucket Google Cloud Storage (GCS) tertentu. Setelah mengautentikasi saluran build GCS dengan Akun Google Anda, Anda akan melihat daftar semua set konfigurasi yang tersedia untuk Anda.

Pilih set konfigurasi yang ingin Anda tambahkan ke host Test Station, lalu klik Import Selected.

Mengimpor Set Konfigurasi

Gambar 4. Mengimpor Set Konfigurasi.

Sertakan setelan Wi-Fi

Beberapa pengujian CTS mengharuskan perangkat Anda terhubung ke hotspot Wi-Fi. Untuk memilih jaringan Wi-Fi, masukkan WiFi SSID dan WiFi PSK opsional.

Setelan Wi-Fi

Gambar 5. Setelan hotspot Wi-Fi.

Setelah menyelesaikan Wizard Penyiapan, halaman akan dimuat ulang dengan setelan baru yang diterapkan.

Hubungkan perangkat

Proses debug USB harus diaktifkan untuk menggunakan perangkat untuk pengujian. Untuk mengaktifkan proses debug:

  1. Ikuti petunjuk di Mengaktifkan opsi developer dan proses debug.

  2. Jika Anda berencana menggunakan build Android pengujian yang telah dimuat sebelumnya dengan kunci ADB kustom, tempatkan file .adb_key kustom di direktori ~/.android/.

    File akan dimuat secara otomatis dan diteruskan ke ADB untuk mengaktifkan proses debug USB secara otomatis setelah perangkat di-flash untuk perangkat yang menjalankan build tersebut.

  3. Hubungkan perangkat ke mesin host menggunakan USB.

    Perangkat akan muncul di tab OmniLab ATS Devices dalam waktu satu menit setelah memuat ulang antarmuka web. Anda juga dapat melihat status perangkat di tab ini.

    Menghubungkan Perangkat

    Gambar 6. Menghubungkan perangkat.

Berbagai status perangkat adalah:

  • Tersedia - Perangkat terhubung dan siap menjalankan pengujian.
  • Dialokasikan - Perangkat terhubung dan sedang menjalankan pengujian. Setiap perangkat hanya dapat menjalankan satu pengujian dalam satu waktu, sehingga perangkat harus menyelesaikan pengujian saat ini sebelum menjalankan pengujian baru.

Menjalankan pengujian

Pilih pengujian

OmniLab ATS dilengkapi dengan serangkaian konfigurasi CTS yang telah dipaketkan sebelumnya. Untuk menjalankan salah satu pengujian ini, buka tab Test Suites dan klik Run test untuk pengujian yang dipilih.

Pilih Pengujian

Gambar 7. Memilih pengujian.

Untuk mengedit atau menambahkan pengujian baru, lihat Menambahkan pengujian.

Mengonfigurasi pengujian

Edit parameter yang akan digunakan untuk pengujian khusus ini. Sebagian besar parameter diisi otomatis dengan nilai yang ditentukan dalam konfigurasi pengujian yang dipilih.

Langkah ini dapat diselesaikan menggunakan nilai default, tetapi Anda dapat mengubah parameter apa pun, seperti Max Retry dan Command, sesuai kebutuhan Anda.

Mengonfigurasi Pengujian

Gambar 8. Mengonfigurasi pengujian.

Parameter uji coba adalah:

  • Name - Nama suite pengujian yang ingin Anda jalankan.
  • Jumlah Pengoperasian - Berapa kali pengujian ini harus dijalankan saat dijadwalkan. Pengujian dijadwalkan menggunakan Trade Federation, yang menjalankan hingga 20 pengujian secara paralel jika ada kapasitas untuk melakukannya.
  • Max Retry - Frekuensi maksimum untuk mencoba ulang pengujian jika setidaknya satu pengujian gagal. Hal ini biasanya ditetapkan ke 4–6 percobaan ulang untuk CTS penuh guna menangani uji tidak stabil.
  • Waktu Tunggu Antrean - Jika uji coba tetap dalam status Dalam Antrean terlalu lama, uji coba akan otomatis dibatalkan. Tentukan jumlah waktu tunggu sebelum pembatalan di sini. Nilai defaultnya adalah 24 jam.
  • Command - Perintah untuk menjalankan suite pengujian. Anda dapat memasukkan argumen command line tambahan di sini. Misalnya, jalankan modul tertentu di CTS 8.1 dengan:

    cts-suite -m ShortModuleName
    
  • Perintah Coba Lagi - Perintah untuk mencoba lagi suite pengujian. Anda dapat menambahkan argumen command line tambahan di sini. Misalnya, untuk mencoba ulang hanya modul tertentu di CTS 8.1, gunakan:

    cts --retry 0 -m ShortModuleName
    

    Argumen percobaan ulang mungkin berbeda dari yang tersedia dengan perintah awal, jadi periksa parameter yang didukung di situs resmi untuk suite pengujian yang dipilih.

  • Previous Test Run - Jika Anda ingin menjalankan ulang pengujian sebelumnya:

    • Lokal - Jika uji coba dimulai di host saat ini, masukkan ID uji coba yang terlihat saat melihat detail uji coba.

      Pengujian Lokal Sebelumnya

      Gambar 9. Pengujian lokal sebelumnya.

    • Remote - Jika pengujian dimulai di host yang berbeda, upload file hasil pengujian dengan memilih Remote, mengklik Upload Test Results File, dan memilih file dari penyimpanan lokal Anda.

      Menghapus Pengujian Sebelumnya

      Gambar 10. Menghapus pengujian sebelumnya.

Perangkat tertentu

Klik kotak centang untuk memilih perangkat yang akan dialokasikan untuk menjalankan suite pengujian. Jumlah shard akan otomatis berubah agar sesuai dengan jumlah perangkat yang dipilih.

Pilih Perangkat

Gambar 11. Memilih perangkat.

Untuk memilih perangkat berdasarkan atribut selain nomor seri perangkat, Anda dapat memasukkan "Spesifikasi Perangkat" secara manual. Misalnya, untuk memilih 3 perangkat yang nama produknya adalah "bramble", masukkan perintah berikut:

product:bramble;product:bramble;product:bramble

Atribut yang didukung adalah:

  • build_id
  • device_serial
  • device_type
  • hostname
  • produk
  • product_variant
  • sim_state

Semua perangkat yang dipilih harus dalam status Available untuk menjalankan pengujian, dan semuanya akan beralih ke status Allocated saat pengujian dijalankan. Uji coba berada dalam status Dalam antrean saat menunggu perangkat tersedia.

Menambahkan tindakan perangkat

Tindakan perangkat adalah skrip yang dapat dijalankan sebelum setiap pengujian dijalankan. Beberapa tindakan perangkat sudah dikonfigurasi, seperti melakukan flash dan memulai ulang. Untuk membuat tindakan perangkat baru, lihat Membuat tindakan perangkat baru.

Tindakan Perangkat

Gambar 12. Tindakan perangkat.

Untuk menambahkan tindakan perangkat ke uji coba, klik Add new action, pilih kotak centang untuk tindakan yang akan ditambahkan, lalu klik Add Action(s). Tindakan perangkat dilakukan secara berurutan. Anda dapat mengurutkan ulang tindakan dengan menariknya.

Menambahkan Tindakan

Gambar 13. Mengurutkan ulang tindakan.

Menetapkan resource pengujian

Resource pengujian adalah file yang diperlukan untuk menjalankan pengujian. Misalnya, menjalankan CTS memerlukan file android-cts*.zip, dan mem-flash perangkat mengharuskan Anda menyediakan image build.

URL download untuk file zip suite pengujian harus ditetapkan secara default ke link Google Drive yang diberikan kepada partner. Anda dapat memilih file lain dengan mengklik browse. Di jendela pop-up, Anda dapat memasukkan link download file, menggunakan file dari saluran build yang diautentikasi, atau mengupload file untuk digunakan dari penyimpanan lokal.

Referensi Pengujian

Gambar 14. Resource pengujian.

Berikut adalah jendela pop-up untuk memilih resource pengujian berdasarkan URL web. Anda dapat memasukkan link URL download, dan mengklik tombol Pilih untuk mengonfirmasi pilihan.

Test Resource Selector - Web URL

Gambar 15. Pemilih Resource Pengujian - URL Web.

Jika Anda telah mengupload resource ke Google Drive, Google Cloud Storage (GCS), atau saluran lainnya, Anda juga dapat membuka tab saluran tertentu dan memilih resource di sana. Berikut adalah contoh untuk memilih resource dari Google Drive.

Pemilih Resource Pengujian - Google Drive

Gambar 16. Pemilih Resource Pengujian - Google Drive.

Selain hanya memilih file, karakter pengganti juga didukung di kolom Filename. Dokumentasi dapat ditemukan di sini.

Test Resource Selector - Wildcard Pattern Support

Gambar 17. Pemilih Resource Pengujian - Dukungan pola karakter pengganti.

Anda juga dapat memilih file dari penyimpanan file lokal OmniLab ATS. Anda dapat mengupload file ke penyimpanan ini, atau langsung menggunakan file dan direktori lokal.

Pemilih Resource Pengujian - Penyimpanan File Lokal

Gambar 18. Pemilih Resource Pengujian - Penyimpanan file lokal.

Menambahkan konfigurasi jalankan ulang

Anda dapat menjadwalkan pengulangan yang dimulai setelah pengujian utama selesai dan memuat hasilnya, tetapi dapat menggunakan perangkat, tindakan, atau resource yang berbeda.

Menambahkan Konfigurasi Jalankan Ulang

Gambar 19. Menambahkan Konfigurasi Jalankan Ulang.

Memulai uji coba

Setelah Anda memasukkan informasi yang diperlukan untuk uji coba, klik Start Test Run. Jika semua informasi valid, uji coba akan dimulai, dan Anda akan dialihkan ke halaman untuk melihat detail dan progres uji coba.

Mulai Pengujian

Gambar 20. Memulai pengujian.

Membuat rencana pengujian

Paket pengujian digunakan untuk membuat pengujian dengan jadwal berkala. Misalnya, menjalankan CTS 9.0 setiap hari pada pukul 17.00. Untuk membuat rencana pengujian baru, klik Create a new test plan.

Membuat Rencana Pengujian

Gambar 21. Membuat rencana pengujian.

Mengonfigurasi rencana pengujian

Masukkan nama rencana pengujian dan label yang ingin Anda tambahkan. Kemudian, pilih jadwal yang akan digunakan.

  • Manual - Paket pengujian membuat uji coba hanya saat pengguna mengklik Run test plan di halaman daftar paket pengujian.
  • Berkala - Paket pengujian otomatis menjadwalkan pengujian pada jadwal berkala yang dipilih. Misalnya, menjadwalkan pengujian setiap hari pada pukul 17.00.
  • Kustom - Paket pengujian otomatis menjadwalkan pengujian berdasarkan ekspresi cron yang dimasukkan. Misalnya, untuk menjadwalkan uji coba setiap hari pada pukul 17.00, ekspresi cron-nya adalah 0 17 * * *.

Mengonfigurasi Paket Pengujian

Gambar 22. Mengonfigurasi rencana pengujian.

Menambahkan suite pengujian

Tambahkan suite pengujian yang ingin Anda jadwalkan berdasarkan rencana pengujian dengan mengklik + Add test run configuration. Pilih suite pengujian dari dropdown Name, lalu klik Next step. Kemudian, pilih perangkat yang ingin Anda gunakan untuk menjalankan pengujian dan klik Add Configuration. Anda dapat menambahkan beberapa konfigurasi untuk setiap rencana pengujian.

Mengonfigurasi Pengujian

Gambar 23. Mengonfigurasi pengujian.

Menambahkan tindakan perangkat

Tambahkan tindakan perangkat yang ingin Anda jalankan sebelum setiap pengujian dijalankan. Lihat Menambahkan tindakan perangkat untuk mengetahui detail selengkapnya.

Menambahkan Tindakan Perangkat

Gambar 24. Menambahkan tindakan perangkat.

Menetapkan resource pengujian

Menambahkan resource pengujian ke rencana pengujian sama dengan menambahkannya ke pengujian individual. Lihat Menetapkan resource pengujian untuk mengetahui detail selengkapnya.

Menetapkan Resource Pengujian

Gambar 25. Menetapkan resource pengujian.

Melihat uji coba

Daftar uji coba

Lihat daftar pengujian terjadwal di halaman Test Runs. Klik View untuk melihat detail selengkapnya tentang pengujian yang dijalankan.

Anda juga dapat memfilter daftar dengan memasukkan string ke dalam kolom filter dan menekan tombol Enter. Anda dapat menggunakan beberapa filter dengan memisahkannya menggunakan koma. Filter menampilkan semua baris yang berisi teks persis (tidak ada pencocokan substring) di kolom mana pun, kecuali Status dan Created.

Filter kosong akan menampilkan semua baris. Saat ini tidak ada cara untuk memfilter baris dengan nilai kosong.

Daftar Pengujian

Gambar 26. Daftar uji coba.

Detail uji coba

Anda dapat melihat detail uji coba di sini, seperti status, log, dan hasil.

Detail Uji Coba

Gambar 27. Detail pengujian.

Status uji coba

Progres untuk pengujian ditampilkan di bagian Status. Jika ada pesan terkait, seperti progres download, alasan pembatalan, atau pesan error, pesan tersebut juga akan ditampilkan di sini.

Status Uji Coba

Gambar 28. Status uji coba.

Status uji coba adalah:

  • Menunggu keputusan - Resource yang diperlukan sedang didownload.
  • Dalam antrean - Pengujian siap dijalankan saat perangkat tersedia.
  • Running - Pengujian sedang berjalan di perangkat yang dialokasikan.
  • Selesai - Pengujian telah selesai dan melaporkan hasilnya.
  • Dibatalkan - Pengujian dibatalkan oleh pengguna atau waktu habis saat mencoba menemukan perangkat yang tersedia.
  • Error - Terjadi error yang mencegah pengujian berjalan.

Membatalkan pengujian

Jika uji coba belum selesai, Anda dapat membatalkannya dengan mengklik Cancel, lalu mengklik Yes di dialog konfirmasi. Uji coba juga akan otomatis dibatalkan jika tetap dalam status Queued lebih lama dari kolom queue_timeout_seconds. Membatalkan pengujian saat dalam status Running mungkin memerlukan waktu beberapa menit untuk diterapkan.

Batalkan Pengujian

Gambar 29. Membatalkan uji coba.

Hasil uji coba

Setelah uji coba selesai, hasilnya akan dikumpulkan dan ditampilkan. Anda dapat melihat detail tambahan dengan mengklik panah untuk setiap operasi. Klik View Output Files untuk melihat artefak pengujian yang dikumpulkan, seperti test_result.xml dan test_result_failures.html.

Hasil Uji Coba

Gambar 30. Hasil uji coba.

Anda dapat melihat log host dan Tradefed langsung di tab Logs.

Log Uji Coba

Gambar 31. Tab Logs.

Hasil untuk setiap modul ada di tab Hasil Pengujian.

Tab Hasil Pengujian

Gambar 32. Tab Hasil Pengujian.

Anda dapat mendownload file yang digunakan sebagai resource pengujian dengan mengklik Open di tab Test Resources.

Tab Materi Pengujian

Gambar 33. Tab Materi Pengujian.

Untuk melihat detail pengujian, seperti create_time, buka tab Config.

Tab Konfigurasi Pengujian

Gambar 34. Tab konfigurasi.

Fitur lanjutan

Mengelola file konfigurasi

OmniLab ATS menggunakan file konfigurasi yang ditulis dalam YAML untuk memuat opsi yang telah ditetapkan seperti pengujian, saluran build, dan tindakan perangkat. Berikut adalah contoh file konfigurasi:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

Saat menyiapkan instance ATS OmniLab, Anda dapat membagikan konfigurasi kepada pengguna lain dengan mengekspornya sebagai file. Untuk melakukannya, buka halaman Setelan dan klik Ekspor di kanan atas.

Pengelolaan File Konfigurasi

Gambar 35. Pengelolaan file konfigurasi.

Setelah file konfigurasi didownload, bagikan file tersebut kepada pengguna lain. Mereka dapat menambahkan file konfigurasi ke instance OmniLab ATS dengan mengklik Import dan memilih file konfigurasi.

Membuat tindakan perangkat baru

Tindakan perangkat digunakan untuk mengotomatiskan proses penyiapan perangkat. Tindakan adalah skrip yang dijalankan di setiap perangkat tempat pengujian berjalan sebelum setiap pengujian dijalankan, termasuk sebelum percobaan ulang. Untuk melihat daftar tindakan perangkat yang tersedia, buka halaman Setelan dan klik tab Tindakan Perangkat. Beberapa tindakan perangkat sudah dikonfigurasi, seperti memulai ulang dan mem-flash.

Tab Tindakan Perangkat

Gambar 36. Tab Tindakan Perangkat.

Menambahkan tindakan perangkat baru

  1. Klik Tindakan perangkat baru.

    Tombol Tindakan Perangkat Baru

    Gambar 37. Tombol tindakan perangkat baru.

  2. Masukkan nama dan deskripsi.

    Nama Device Action

    Gambar 38. Nama tindakan perangkat.

  3. Klik Add Target Preparer.

  4. Masukkan nama class lengkap Target Preparer Trade Federation, misalnya, com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Tambahkan Penyusun Target

    Gambar 39. Menambahkan penyusun target.

    Daftar penyiap target yang tersedia dapat ditemukan di referensi com.android.tradefed.targetprep.

    Daftar Penyusun Target

    Gambar 40. Daftar Target Preparer.

  5. Tambahkan opsi apa pun untuk digunakan dengan penyiap target. Untuk melihat opsi yang tersedia, periksa targetprep untuk kode sumber setiap penyiap target di AOSP:

    Contoh Opsi Tindakan

    Gambar 41. Contoh opsi tindakan.

  6. Untuk menambahkan opsi, klik Add Target Preparer Option dan masukkan nilai yang diperlukan.

    Contoh Perintah Tindakan

    Gambar 42. Contoh perintah tindakan.

  7. Tentukan resource pengujian yang diperlukan untuk menjalankan tindakan perangkat, misalnya, mem-build image untuk flashing. Untuk menambahkan definisi resource, klik Add Test Resource dan isi kolom yang wajib diisi. Jika Anda mengetahui lokasi file, Anda dapat memberikan URL download default dengan mengklik browse. Jika penyiap target menerima direktori sebagai resource pengujian, pilih Dekompresi. Kemudian, tentukan direktori Destination relatif di bawah direktori kerja sementara dan File Names yang akan didekompresi. Jika tidak ada nama file yang diberikan, semua file akan didekompresi dari resource pengujian.

    Referensi Pengujian Tindakan

    Gambar 43. Resource pengujian tindakan.

  8. Klik Perbarui.

    Tindakan Simpan Perubahan

    Gambar 44. Tindakan simpan perubahan.

Mengelola pengujian

Mengedit pengujian

Untuk mengedit pengujian tersimpan, buka halaman Tests, lalu klik Edit di baris pengujian yang ingin Anda ubah. Setelah mengubah konfigurasi pengujian, klik Update.

Mengedit pengujian

Gambar 45. Mengedit pengujian.

Menambahkan pengujian baru

Untuk menambahkan pengujian baru, buka halaman Pengujian, lalu klik Buat Pengujian Baru. Masukkan informasi yang sesuai, lalu klik Create.

Membuat pengujian

Gambar 46. Membuat pengujian.

Menyalin pengujian

Gambar 47. Menyalin pengujian.

Mengekspor konfigurasi host

Setelah mengonfigurasi host, Anda dapat mengekspor konfigurasi host ke file. Anda dapat mengupload file ini ke host lain untuk menyalin konfigurasi yang disimpan.

Untuk mengekspor konfigurasi host, buka halaman Setelan, lalu klik Ekspor di pojok kanan atas.

Mengekspor konfigurasi host

Gambar 48. Mengekspor konfigurasi host.

Untuk mengimpor file konfigurasi host, buka halaman Setelan, lalu klik Impor di pojok kanan atas.

Mengimpor konfigurasi host

Gambar 49. Mengimpor konfigurasi host.

Menggunakan file dan direktori lokal

Mulai versi R11, file dalam direktori $HOME/.ats_storage dapat diakses secara otomatis di OmniLab ATS. Salin atau pindahkan file ke direktori tersebut, lalu Anda dapat memilihnya dari tab Local File saat menjadwalkan uji coba.

cp /path/to/file $HOME/.ats_storage

Memilih file lokal

Gambar 50. Memilih file dari direktori $HOME/.ats_storage.

Anda dapat memasang direktori tambahan ke penyimpanan file lokal dengan flag --mount_local_path.

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

Direktori terpasang tambahan

Gambar 51. Direktori tambahan yang dipasang di penyimpanan file lokal.

Mengaktifkan mode multi-host

Dengan mode Multi-host, pengguna dapat menggunakan satu host pengontrol ATS untuk mengelola perangkat dan pengujian di beberapa host worker ATS.

Arsitektur mode multi-host

Gambar 52. Arsitektur mode multi-host.

  1. Untuk memulai pengontrol ATS, gunakan perintah berikut:

    mtt start --operation_mode=ON_PREMISE
    
  2. Periksa apakah pengontrol dapat diakses di http://${CONTROLLER_HOSTNAME}:8000.

  3. Untuk memulai worker, gunakan perintah berikut:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

Jika jaringan Anda tidak mengizinkan host untuk berkomunikasi satu sama lain, Anda harus mengikuti petunjuk penyiapan lanjutan di bawah tentang worker ATS.

  1. Hubungkan kedua host menggunakan tunnel SSH. Pilih port untuk port server utama dan file, misalnya, 9000 dan 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. Konfigurasikan dan mulai ATS.

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

Pembersih file

Pembersih file adalah cron job yang berjalan setiap jam untuk membersihkan file berdasarkan konfigurasi yang ditentukan pengguna. ATS memiliki dua konfigurasi default untuk mengarsipkan hasil eksekusi pengujian dan menghapus file sementara. Panduan ini menjelaskan cara menyesuaikan kebijakan dan konfigurasi untuk mengelola file Anda secara efektif.

Kebijakan

Kebijakan menentukan operasi yang akan dilakukan pada file atau direktori, dan kriteria untuk memilih target. Operasi yang tersedia ditampilkan dalam tabel:

Jenis operasiParameter
ARCHIVEremove_file: Jika true, hapus file setelah pengarsipan.
DELETE

Kriteria didasarkan pada atribut file dan informasi sistem. Kriteria yang tersedia ditampilkan dalam tabel:

Jenis kriteriaDeskripsiParameter
LAST_MODIFIED_TIMEMemfilter file berdasarkan tanggal dan waktu terakhir diubah.ttl: Berbagai jenis ekspresi waktu didukung, misalnya, 10m, 2h, 7 days, 4w. Lihat pytimeparse untuk mengetahui format yang didukung.
LAST_ACCESS_TIMEMemfilter file berdasarkan tanggal dan waktu akses terakhirnya.Sama dengan LAST_MODIFIED_TIME.
NAME_MATCHMemfilter file berdasarkan namanya menggunakan ekspresi reguler.pattern: Ekspresi reguler, misalnya, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip untuk mencocokkan zip hasil.
SYSTEM_AVAILABLE_SPACEMemicu tindakan berdasarkan ruang yang tersedia di sistem.threshold: Picu tindakan saat ruang yang tersedia berada di bawah nilai minimum, misalnya, 200(B), 200KB, 200MB, 200GB, 2TB.

Kebijakan baru terkait pembersih file

Gambar 53. Tambahkan kebijakan pembersih file baru.

Konfigurasi

Konfigurasi menggabungkan satu atau beberapa kebijakan dengan direktori tertentu. File dan direktori dalam direktori yang ditentukan akan diproses berdasarkan kebijakan yang ditentukan. Kebijakan diterapkan sesuai urutan kemunculannya dalam konfigurasi.

Semua direktori target harus berada di direktori /data. Jika konfigurasi Anda menentukan direktori target sebagai logs, direktori tersebut akan ditafsirkan sebagai /data/logs.

Edit konfigurasi pembersih file

Gambar 54. Edit konfigurasi pembersih file.

Reset

Mengklik Reset Settings akan mengembalikan konfigurasi pembersih file ke status defaultnya. Tindakan ini akan menghapus SEMUA item kustom.

Mereset setelan pembersih file

Gambar 55. Mereset setelan pembersih file.

Dukungan

Laporan bug

Kontribusi Anda pada OmniLab ATS membantu meningkatkan pengembangan alat ini, dan kami ingin mendapatkan masukan dari Anda. Lihat catatan rilis OmniLab ATS untuk mengetahui detail tentang rilis terbaru. Untuk melaporkan bug atau memberikan saran, ajukan laporan bug. Partner harus melaporkan bug atau saran menggunakan saluran partner mereka.