Alat validasi ekstensi kamera

Alat validasi ekstensi kamera memungkinkan produsen perangkat memverifikasi bahwa library vendor OEM Ekstensi Kamera diterapkan dengan benar. Alat ini mencakup pengujian validasi otomatis dan manual.

  • Pengujian validasi otomatis: memvalidasi bahwa antarmuka library vendor diimplementasikan dengan benar. Misalnya, jika CaptureProcessor diperlukan untuk pengambilan gambar, pengujian akan memvalidasi bahwa ImageCaptureExtenderImpl#getCaptureStages() menampilkan instance CaptureStage yang diperlukan untuk mengambil gambar.

  • Pengujian validasi manual: Memvalidasi efek gambar dan kualitas pratinjau dan gambar yang diambil. Misalnya, pengujian memungkinkan produsen perangkat memvalidasi secara manual apakah efek retouch wajah diterapkan dengan benar atau apakah kekuatan bokeh sudah memadai.

Kode sumber alat validasi adalah bagian dari aplikasi pengujian ekstensi di repositori Android Jetpack.

Membangun alat validasi ekstensi kamera

Untuk membuat alat validasi ekstensi, ikuti langkah-langkah berikut:

  1. Download kode sumber library Android Jetpack. Untuk mengetahui detailnya, lihat bagian Memeriksa Kode di README Android Jetpack.

  2. Buat APK extensionstestapp. Hal ini memungkinkan Anda menjalankan pengujian validasi manual.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug

    APK akan di-output ke jalur berikut:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. Buat APK androidTest. APK ini memungkinkan menjalankan pengujian validasi otomatis.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest

    APK akan di-output ke jalur berikut:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

Menjalankan pengujian validasi otomatis

Untuk menjalankan pengujian validasi otomatis, instal APK extensionstestapp dan androidTest.

  • extensionstestapp APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
  • androidTest APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk

Menjalankan semua pengujian otomatis

Setelah menginstal APK, untuk menjalankan semua pengujian otomatis guna memvalidasi penerapan library vendor, jalankan perintah berikut:

adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Jika semua pengujian lulus, hasil OK akan ditampilkan. Jika tidak, laporan pengujian akhir akan menunjukkan kegagalan di terminal setelah semua pengujian selesai.

automated_validation_result-pass

Gambar 1. Hasil OK pengujian otomatis

automated_validation_result-fail

Gambar 2. Hasil pengujian otomatis dengan kegagalan

Menjalankan pengujian otomatis untuk class tertentu

Untuk menjalankan pengujian otomatis class tertentu, tentukan nama dan jalur class target. Contoh berikut menunjukkan perintah untuk menjalankan pengujian untuk class ImageCaptureTest:

adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Menjalankan pengujian validasi manual

Pengujian validasi manual dapat ditemukan di aplikasi pengujian ekstensi. Setelah menginstal dan meluncurkan aplikasi pengujian ekstensi, beralihlah ke mode alat validasi dengan mengetuk item menu di kanan atas.

Setelah beralih ke mode alat validasi, halaman pertama akan mencantumkan semua kamera yang memiliki kemampuan REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. Jika kamera tidak mendukung mode ekstensi apa pun, item daftar yang sesuai akan berwarna abu-abu.

camera_validation_result-initial

Gambar 3. Mode alat validasi

Ketuk salah satu kamera untuk melihat mode ekstensi yang akan diuji. Mode ekstensi yang tidak didukung oleh kamera yang dipilih ditampilkan dalam warna abu-abu.

extension_mode_validation_result-initial

Gambar 4. Mode ekstensi yang tersedia untuk kamera

Memverifikasi hasil pratinjau

Untuk memverifikasi hasil pratinjau, mulai pengujian manual dengan mengetuk mode ekstensi untuk kamera yang dipilih. Aktivitas pengambilan gambar yang berisi pratinjau akan ditampilkan.

preview-bokeh_enabled

Gambar 5. Pratinjau gambar dengan bokeh diaktifkan

Aktivitas pengambilan gambar mendukung fungsi berikut:

  • Memperbesar/memperkecil
  • Ketuk untuk memfokuskan
  • Tombol beralih mode flash
  • EV +/-
  • Tombol aktif/nonaktif ekstensi

Verifikasi bahwa fungsi zoom in/out, ketuk untuk fokus, mode flash, dan EV +/- berfungsi seperti yang diharapkan dalam pratinjau.

Memverifikasi hasil gambar yang diambil

Untuk mengambil gambar, ketuk tombol AMBIL (tombol bulat) di aktivitas pengambilan gambar. Tindakan ini meluncurkan aktivitas validasi gambar yang menampilkan gambar yang diambil.

photo_viewer-bokeh_enabled

Gambar 6. Gambar yang diambil dengan bokeh diaktifkan

Aktivitas validasi gambar mencakup fungsi berikut:

  • Mencubit ke dalam/luar untuk menyesuaikan skala gambar
  • Geser ke kiri/kanan untuk beralih di antara gambar yang diambil
  • Ambil ulang
  • Item menu Simpan gambar

Verifikasi apakah gambar yang diambil sudah benar dan cocok dengan zoom perbesar/perkecil, ketuk untuk memfokuskan, mode flash, dan setelan EV +/- yang ditetapkan saat mengambil gambar.

Jika hasil yang diambil sudah benar, ketuk tombol LULUS (tanda centang) di pojok kanan bawah. Jika tidak, ketuk tombol GAGAL (tanda seru) di pojok kiri bawah.

Melihat hasil pengujian

Setelah mode ekstensi diverifikasi sebagai lulus atau gagal, item daftar untuk mode ekstensi akan menampilkan warna latar belakang dan indikator yang berbeda. Dalam tampilan daftar semua kamera, item ditampilkan dalam warna berikut:

  • Latar belakang putih: Kamera mendukung setidaknya satu mode ekstensi dan mode ekstensi yang didukung tidak divalidasi sepenuhnya.
  • Latar belakang hijau: Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan semua hasil lulus.
  • Latar belakang merah: Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan setidaknya satu hasil mode ekstensi yang gagal.
  • Latar belakang abu-abu: Fitur ini tidak tersedia.

camera_validation_result extension_mode_validation_result

Gambar 7. Warna yang menunjukkan hasil pengujian untuk kamera dan mode ekstensi

Fungsi alat validasi lainnya

Setelah semua pengujian selesai, aktivitas daftar kamera menyediakan fungsi berikut:

  • Mengekspor hasil pengujian: Mengekspor hasil pengujian sebagai file CSV ke folder Documents/ExtensionsValidation.
  • Reset: Menghapus semua hasil pengujian yang di-cache.
  • Aplikasi contoh ekstensi: Beralih ke mode aplikasi contoh ekstensi.

Setelah menyelesaikan pengujian, Anda dapat mengekspor hasil pengujian. Jika Anda menemukan masalah dan implementasi library vendor versi baru dengan solusinya perlu diverifikasi lagi, reset hasil pengujian sebelumnya dan jalankan ulang semua mode ekstensi yang didukung di semua kamera untuk memverifikasi bahwa masalah telah diperbaiki.