Stasiun Pengujian Android OmniLab

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

Menyiapkan ATS OmniLab

Bagian ini menjelaskan cara menginstal dan menyiapkan ATS OmniLab.

OmniLab ATS menggunakan kode sumber dari lokasi berikut:

Menginstal OmniLab ATS

Ikuti persyaratan hardware dan software untuk rangkaian 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

Di Ubuntu 20.04+, program 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.

Pasang secara manual

Menginstal Docker
  1. Ikuti petunjuk untuk menginstal Docker Community Edition (CE) di komputer 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.

Instal Python 3

OmniLab ATS CLI diverifikasi terhadap Python versi 3.7 hingga 3.11.

Untuk Ubuntu 16.04 atau yang lebih lama, tambahkan repositori untuk Python 3 terlebih dahulu dengan melakukan salah satu hal berikut:

  • Jalankan perintah ini:

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

Untuk menginstal Python 3, jalankan perintah berikut:

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

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 CLI OmniLab ATS

Download paket antarmuka command line (CLI) di sini.

Memulai ATS OmniLab

Mulai OmniLab ATS dengan perintah berikut:

mtt start

Saat pertama kali dimulai, UI mungkin memerlukan waktu beberapa menit untuk muncul. CLI akan 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 OmniLab ATS, hentikan aplikasi dan jalankan perintah berikut, yang mencadangkan database saat ini ke 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 menginstal dan menjalankan OmniLab ATS untuk pertama kalinya, Wizard Penyiapan akan memandu Anda melakukan beberapa langkah untuk membantu menyesuaikan alat ini bagi lingkungan Anda. Setiap perubahan yang Anda buat di sini dapat dikonfigurasi ulang nanti melalui halaman Setelan.

Memulihkan cadangan konfigurasi

Jika memiliki file konfigurasi yang dicadangkan dari host OmniLab ATS lain, Anda dapat mengupload file 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, klik Upload Service Account Key lalu pilih file kunci JSON akun layanan Anda.

Tetapkan Akun Layanan

Gambar 2. Menetapkan akun layanan.

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

Ubah akun layanan

Gambar 3. Mengubah akun layanan.

Mengimpor set konfigurasi

Set konfigurasi adalah paket konfigurasi untuk menjalankan rangkaian 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 Impor yang Dipilih.

Mengimpor Set Konfigurasi

Gambar 4. Mengimpor Kumpulan Konfigurasi.

Sertakan setelan Wi-Fi

Beberapa uji CTS mengharuskan perangkat Anda tersambung ke hotspot Wi-Fi. Untuk memilih jaringan Wi-Fi, masukkan Wi-Fi SSID dan PSK Wi-Fi 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 agar dapat 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 dimuat sebelumnya dengan kunci ADB kustom, tempatkan file .adb_key kustom di direktori ~/.android/.

    File 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 Perangkat ATS OmniLab dalam waktu satu menit setelah memuat ulang antarmuka web. Anda juga dapat melihat status perangkat di tab ini.

    Hubungkan Perangkat

    Gambar 6. Menghubungkan perangkat.

Status perangkat yang berbeda adalah:

  • Tersedia - Perangkat terhubung dan siap menjalankan pengujian.
  • Dialokasikan - Perangkat terhubung dan 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 Suite 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, agar sesuai dengan kebutuhan Anda.

Mengonfigurasi Pengujian

Gambar 8. Mengonfigurasi pengujian.

Parameter uji coba adalah:

  • Name - Nama rangkaian pengujian yang ingin Anda jalankan.
  • Jumlah Jalankan - Berapa kali pengujian ini harus dijalankan saat dijadwalkan. Pengujian dijalankan sesuai jadwal menggunakan Trade Federation, yang menjalankan hingga 20 pengujian secara paralel jika ada kapasitas untuk melakukannya.
  • Max Retry - Jumlah maksimum percobaan ulang untuk menjalankan pengujian jika setidaknya satu pengujian gagal. Nilai ini biasanya ditetapkan ke 4–6 percobaan ulang untuk menjalankan CTS penuh guna menangani pengujian yang tidak stabil.
  • Waktu Tunggu Antrean - Jika pengujian yang dijalankan tetap dalam status Dalam Antrean terlalu lama, pengujian tersebut akan otomatis dibatalkan. Tentukan jumlah waktu tunggu sebelum pembatalan di sini. Nilai defaultnya adalah 24 jam.
  • Perintah - Perintah untuk menjalankan rangkaian 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 rangkaian pengujian. Anda dapat menambahkan argumen command line tambahan di sini. Misalnya, untuk mencoba ulang modul tertentu di CTS 8.1, gunakan:

    cts --retry 0 -m ShortModuleName
    

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

  • Jalankan Pengujian Sebelumnya - Jika Anda ingin menjalankan kembali pengujian sebelumnya:

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

      Pengujian Sebelumnya yang Dijalankan Secara Lokal

      Gambar 9. Pengujian lokal sebelumnya.

    • Jarak Jauh - Jika operasi dimulai di host lain, upload file hasil pengujian dengan memilih Jarak Jauh, mengklik Upload File Hasil Pengujian, dan memilih file dari penyimpanan lokal Anda.

      Pengujian Sebelumnya Jarak Jauh

      Gambar 10. Pengujian sebelumnya dijalankan dari jarak jauh.

Pilih perangkat

Klik kotak centang untuk memilih perangkat yang akan dialokasikan untuk menjalankan rangkaian pengujian. Jumlah shard akan otomatis berubah agar cocok 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 "bramble", masukkan hal berikut:

product:bramble;product:bramble;product:bramble

Atribut yang didukung adalah:

  • build_id
  • device_serial
  • device_type
  • nama host
  • produk
  • product_variant
  • status_simulasi

Semua perangkat yang dipilih harus dalam status Tersedia untuk menjalankan pengujian, dan semuanya akan beralih ke status Dialokasikan saat pengujian dijalankan. Pengujian berjalan dalam status Antrean saat menunggu perangkat tersedia.

Menambahkan tindakan perangkat

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

Tindakan Perangkat

Gambar 12. Tindakan perangkat.

Untuk menambahkan tindakan perangkat ke pengujian yang dijalankan, 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 rangkaian pengujian akan ditetapkan secara default ke link Google Drive yang diberikan kepada partner. Anda dapat memilih file lain dengan mengklik browse. Pada 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. Menguji resource.

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

Pemilih Resource Pengujian - URL Web

Gambar 15. Pemilih Resource Pengujian - URL Web.

Jika telah mengupload resource ke Google Grive, Google Cloud Storage (GCS), atau saluran lainnya, Anda juga dapat membuka tab saluran tertentu dan memilih resource di sana. Berikut adalah contoh untuk memilih materi 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 Nama file. Dokumentasi dapat ditemukan di sini.

Pemilih Resource Pengujian - Dukungan Pola Karakter Pengganti

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 untuk menjalankan ulang

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

Menambahkan Konfigurasi Ulang

Gambar 19. Menambahkan Konfigurasi Jalankan Ulang.

Memulai pengujian

Setelah Anda memasukkan informasi yang diperlukan untuk menjalankan pengujian, klik Mulai Pengujian Berjalan. Jika semua informasi valid, pengujian akan dimulai, dan Anda akan dialihkan ke halaman untuk melihat detail dan progres pengujian.

Mulai Uji Coba

Gambar 20. Memulai pengujian.

Membuat rencana pengujian

Rencana pengujian digunakan untuk membuat pengujian berjalan sesuai jadwal berkala. Misalnya, menjalankan CTS 9.0 setiap hari pukul 17.00. Untuk membuat rencana pengujian baru, klik Buat rencana pengujian baru.

Buat Rencana Pengujian

Gambar 21. Membuat rencana pengujian.

Konfigurasi rencana pengujian

Masukkan nama rencana pengujian dan label apa pun yang ingin ditambahkan. Kemudian, pilih jadwal yang akan digunakan.

  • Manual - Rencana pengujian membuat pengujian berjalan hanya saat pengguna mengklik Run test plan di halaman daftar rencana pengujian.
  • Periodik - Rencana pengujian secara otomatis menjadwalkan pengujian yang dijalankan pada jadwal berkala yang dipilih. Misalnya, menjadwalkan pengujian yang dijalankan setiap hari pada pukul 17.00.
  • Kustom - Rencana pengujian secara otomatis menjadwalkan pengujian yang dijalankan berdasarkan ekspresi cron yang dimasukkan. Misalnya, untuk menjadwalkan pengujian yang dijalankan setiap hari pukul 17.00, ekspresi cron-nya adalah 0 17 * * *.

Mengonfigurasi Rencana Pengujian

Gambar 22. Mengonfigurasi rencana pengujian.

Menambahkan rangkaian pengujian

Tambahkan rangkaian pengujian yang ingin Anda jadwalkan oleh rencana pengujian dengan mengklik + Tambahkan konfigurasi pengujian. Pilih rangkaian pengujian dari dropdown Name, lalu klik Next step. Pilih perangkat tempat Anda ingin menjalankan pengujian, lalu klik Add Configuration. Anda dapat menambahkan beberapa konfigurasi untuk setiap rencana pengujian.

Mengonfigurasi Uji Coba

Gambar 23. Mengonfigurasi pengujian.

Menambahkan tindakan perangkat

Tambahkan tindakan perangkat yang ingin dieksekusi 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 setiap pengujian yang dijalankan. Lihat Menetapkan resource pengujian untuk detail selengkapnya.

Menetapkan Resource Pengujian

Gambar 25. Menyetel resource pengujian.

Melihat pengujian yang dijalankan

Daftar operasi pengujian

Lihat daftar operasi pengujian terjadwal di halaman Operasi Pengujian. Klik Lihat untuk melihat detail selengkapnya tentang pengujian yang dijalankan.

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

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

Daftar Pengujian yang Dijalankan

Gambar 26. Daftar pengujian.

Detail pengujian

Anda dapat melihat detail pengujian yang dijalankan di sini, seperti status, log, dan hasil.

Detail Operasi Pengujian

Gambar 27. Detail pengujian yang dijalankan.

Status operasi uji

Progres untuk pengujian yang dijalankan 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 pengujian.

Status uji coba adalah:

  • Tertunda - 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 tunggu habis saat mencoba menemukan perangkat yang tersedia.
  • Error - Terjadi error yang mencegah pengujian berjalan.

Membatalkan pengujian

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

Membatalkan Pengujian

Gambar 29. Membatalkan pengujian yang dijalankan.

Hasil pengujian

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

Uji Hasil yang Dijalankan

Gambar 30. Hasil pengujian.

Anda dapat melihat log host live dan Tradefed di tab Log.

Log Uji Coba

Gambar 31. Tab Log.

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 Buka di tab Resource Pengujian.

Tab Resource Pengujian

Gambar 33. Tab Resource Pengujian.

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

Tab Konfigurasi Pengujian

Gambar 34. Tab Config.

Fitur lanjutan

Mengelola file konfigurasi

OmniLab ATS menggunakan file konfigurasi yang ditulis dalam YAML untuk memuat opsi standar 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 OmniLab ATS, Anda dapat membagikan konfigurasi dengan pengguna lain dengan mengekspornya sebagai file. Untuk melakukannya, buka halaman Setelan, lalu 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. Action 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, lalu 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 Tindakan Perangkat

    Gambar 38. Nama tindakan perangkat.

  3. Klik Tambahkan Penyusun Target.

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

    Menambahkan Penyiapan Target

    Gambar 39. Menambahkan persiapan target.

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

    Daftar Penyiapan Target

    Gambar 40. Daftar Target Preparer.

  5. Tambahkan opsi apa pun yang akan digunakan dengan peracik target. Untuk melihat opsi yang tersedia, lihat targetprep untuk mengetahui kode sumber setiap target preparer di AOSP:

    Contoh Opsi Tindakan

    Gambar 41. Contoh opsi tindakan.

  6. Untuk menambahkan opsi, klik Tambahkan Opsi Penyiapan Target dan masukkan nilai yang diperlukan.

    Contoh Perintah Tindakan

    Gambar 42. Contoh perintah tindakan.

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

    Referensi Pengujian Action

    Gambar 43. Referensi pengujian tindakan.

  8. Klik Perbarui.

    Tindakan Simpan Perubahan

    Gambar 44. Tindakan menyimpan perubahan.

Mengelola pengujian

Mengedit pengujian

Untuk mengedit pengujian tersimpan, buka halaman Pengujian, lalu klik Edit pada 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 Buat.

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 sudut kanan atas.

Mengimpor konfigurasi host

Gambar 49. Mengimpor konfigurasi host.

Menggunakan file dan direktori lokal

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

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 tanda --mount_local_path.

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

Direktori tambahan yang terpasang

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 pekerja 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 pekerja, 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 ini pada pekerja ATS.

  1. Menghubungkan 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. Mengonfigurasi dan memulai 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 tugas cron yang berjalan setiap jam untuk membersihkan file berdasarkan konfigurasi yang ditentukan pengguna. ATS memiliki dua konfigurasi default untuk mengarsipkan hasil 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 diarsipkan.
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 seperti LAST_MODIFIED_TIME.
NAME_MATCHFilter 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: Memicu tindakan saat ruang yang tersedia berada di bawah nilai minimum, misalnya, 200(B), 200KB, 200MB, 200GB, 2TB.

Kebijakan pembersih file baru

Gambar 53. Menambahkan kebijakan pembersih file baru.

Konfigurasi

Konfigurasi menggabungkan satu atau beberapa kebijakan dengan direktori tertentu. File dan direktori dalam direktori yang ditentukan 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 default. 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 kualitas pengembangan alat ini, dan kami mengharapkan masukan dari Anda. Lihat catatan rilis OmniLab ATS untuk mengetahui detail rilis terbaru. Untuk melaporkan bug atau menawarkan saran, ajukan laporan bug. Partner harus melaporkan bug atau saran menggunakan saluran partner mereka.