Alat validasi ekstensi kamera

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

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

  • Pengujian validasi manual: Validasi efek dan kualitas gambar melihat pratinjau gambar yang diambil. Misalnya, pengujian memungkinkan perangkat produsen untuk 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.

Membuat alat validasi ekstensi kamera

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

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

  2. Bangun extensionstestapp APK lainnya. Hal ini memungkinkan pengujian validasi manual dijalankan.

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

    APK ditampilkan ke jalur berikut:

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

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

    APK ditampilkan 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 extensionstestapp dan androidTest APK.

  • APK extensionstestapp

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

      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 vendor implementasi library, 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 menunjukkan kegagalan di terminal setelah semua pengujian selesai.

otomatis_validasi_hasil-lulus

Gambar 1. Hasil pengujian otomatis yang cukup baik

otomatis_validasi_hasil-gagal

Gambar 2. Hasil pengujian otomatis yang gagal

Menjalankan pengujian otomatis dari class tertentu

Untuk menjalankan pengujian otomatis terhadap class tertentu, tentukan nama dan jalur class kelas target. Contoh berikut menampilkan perintah untuk menjalankan pengujian bagi 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 mencantumkan semua kamera yang berisi REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE kemampuan IT mereka. Jika kamera tidak mendukung mode ekstensi apa pun, item daftar berwarna abu-abu.

camera_validation_result-initial

Gambar 3. Mode alat validasi

Ketuk salah satu kamera guna melihat mode ekstensi untuk pengujian. Ekstensi mode yang tidak didukung oleh kamera yang dipilih ditampilkan dengan 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 kemudian ditampilkan.

pratinjau-bokeh_diaktifkan

Gambar 5. Gambar pratinjau dengan bokeh diaktifkan

Aktivitas pengambilan gambar mendukung fungsi berikut:

  • Memperbesar/memperkecil
  • Ketuk untuk memfokuskan
  • Tombol beralih mode flash
  • Kendaraan Listrik +/-
  • Tombol beralih ekstensi yang diaktifkan/dinonaktifkan

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

Memverifikasi hasil gambar yang diambil

Untuk mengambil gambar, ketuk tombol CAPTURE (tombol bulat) dalam gambar aktivitas perekaman. Tindakan ini akan meluncurkan aktivitas validasi gambar yang menampilkan gambar yang diambil.

foto_viewer-bokeh_diaktifkan

Gambar 6. Gambar yang diambil dengan bokeh diaktifkan

Aktivitas validasi gambar mencakup fungsi berikut:

  • Cubit ke arah dalam/luar untuk memperbesar ukuran gambar
  • Geser ke kiri/kanan untuk mengganti gambar yang diambil
  • Ambil ulang
  • Simpan item menu gambar

Verifikasi apakah gambar yang diambil sudah benar dan cocok dengan zoom in/out, ketuk untuk memfokuskan, mode flash, dan setelan EV +/- yang disetel saat proses pengambilan 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 menampilkan warna latar belakang dan indikator yang berbeda. Dalam daftar tampilan 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 minimal satu mode ekstensi gagal.
  • Latar belakang abu-abu: Fitur ini tidak tersedia.

hasil_validasi_kamera 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:

  • Ekspor 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 aplikasi contoh ekstensi mode.

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