Alat Validasi Ekstensi Kamera

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

  • Tes validasi otomatis: memvalidasi bahwa antarmuka perpustakaan vendor diterapkan dengan benar. Misalnya, jika CaptureProcessor diperlukan untuk pengambilan gambar, pengujian memvalidasi bahwa ImageCaptureExtenderImpl#getCaptureStages() mengembalikan instance CaptureStage yang diperlukan untuk mengambil gambar.

  • Tes validasi manual: Validasi efek gambar dan kualitas pratinjau dan gambar yang diambil. Misalnya, pengujian ini memungkinkan produsen perangkat memvalidasi secara manual apakah efek retouch wajah diterapkan dengan benar atau apakah kekuatan bokehnya memadai.

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

Buat alat validasi ekstensi Kamera

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

  1. Unduh kode sumber perpustakaan Android Jetpack. Untuk detailnya, lihat bagian Memeriksa Kode pada Android Jetpack README .

  2. Bangun APK extensionstestapp . Hal ini memungkinkan untuk menjalankan tes validasi manual.

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

    APK dikeluarkan 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 APK androidTest . APK ini memungkinkan untuk menjalankan tes validasi otomatis.

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

    APK dikeluarkan 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
    

Jalankan tes 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
    

Jalankan semua pengujian otomatis

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

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

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

lolos_validasi_otomatis

Gambar 1. Hasil tes otomatis OK

otomatis_validasi_hasil-gagal

Gambar 2. Hasil tes otomatis dengan kegagalan

Jalankan pengujian otomatis pada kelas tertentu

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

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

Jalankan tes validasi manual

Tes 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 kemampuan REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE . Jika kamera tidak mendukung mode ekstensi apa pun, item daftar terkait berwarna abu-abu.

camera_validation_result-initial

Gambar 3. Mode alat validasi

Ketuk salah satu kamera untuk melihat mode ekstensi untuk pengujian. 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

Verifikasi hasil pratinjau

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

pratinjau-bokeh_enabled

Gambar 5. Pratinjau gambar dengan bokeh diaktifkan

Aktivitas pengambilan gambar mendukung fungsi-fungsi berikut:

  • Memperbesar/memperkecil
  • Ketuk untuk fokus
  • Tombol sakelar mode lampu kilat
  • EV +/-
  • Tombol sakelar ekstensi diaktifkan/dinonaktifkan

Pastikan fungsi zoom in/out, tap-to-focus, mode flash, dan EV +/- berfungsi seperti yang diharapkan dalam pratinjau.

Verifikasi hasil gambar yang diambil

Untuk mengambil gambar, ketuk tombol CAPTURE (tombol bulat) pada aktivitas pengambilan gambar. 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-fungsi berikut:

  • Cubit masuk/keluar untuk menskalakan gambar
  • Geser ke kiri/kanan untuk mengganti gambar yang diambil
  • Menangkap kembali
  • Simpan item menu gambar

Verifikasi apakah gambar yang diambil sudah benar dan cocok dengan pengaturan zoom in/out, ketuk untuk fokus, mode lampu kilat, dan EV +/- yang diatur saat mengambil gambar.

Jika hasil tangkapan sudah benar, tap tombol PASS (tanda centang) di pojok kanan bawah. Jika tidak, ketuk tombol GAGAL (tanda seru) di pojok kiri bawah.

Lihat hasil tes

Setelah mode ekstensi diverifikasi sebagai lulus atau gagal, item daftar untuk mode ekstensi menunjukkan 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 yang diteruskan.
  • Latar belakang merah: Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan setidaknya satu hasil mode ekstensi gagal.
  • Latar belakang abu-abu: Fitur ini tidak tersedia.

hasil_validasi_kameraextension_mode_validation_result

Gambar 7. Warna yang menunjukkan hasil pengujian 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 tes 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 versi baru implementasi pustaka vendor beserta solusinya perlu diverifikasi lagi, setel ulang hasil pengujian sebelumnya dan jalankan kembali semua mode ekstensi yang didukung di semua kamera untuk memverifikasi bahwa masalah telah diperbaiki.