Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Alat Validasi Ekstensi Vendor CameraX

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

  • Tes validasi otomatis: Memvalidasi bahwa antarmuka pustaka vendor diimplementasikan 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: Memvalidasi efek gambar dan kualitas pratinjau dan gambar yang diambil. Misalnya, pengujian ini memungkinkan produsen perangkat untuk memvalidasi secara manual apakah efek ubah wajah diterapkan dengan benar atau apakah kekuatan bokeh cukup.

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

Bangun alat validasi ekstensi vendor CameraX

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

  1. Unduh kode sumber pustaka Android Jetpack. Untuk detailnya, lihat bagian Memeriksa kode di 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 adalah 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. 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 adalah 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
    

Jalankan tes validasi otomatis

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

  • 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
    

Jalankan semua tes 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 dikembalikan. Jika tidak, laporan pengujian akhir menunjukkan kegagalan di terminal setelah semua pengujian selesai.

automatic_validation_result-pass

Gambar 1. Tes otomatis hasil OK

otomatis_validasi_hasil-gagal

Gambar 2. Hasil pengujian otomatis dengan kegagalan

Jalankan pengujian otomatis dari kelas tertentu

Untuk menjalankan pengujian otomatis kelas tertentu, tentukan nama dan jalur kelas target. Contoh berikut menunjukkan perintah untuk menjalankan pengujian 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 tes ekstensi . Setelah menginstal dan meluncurkan aplikasi uji ekstensi, alihkan 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 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 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 tersedia untuk kamera

Verifikasi 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.

preview-bokeh_enabled

Gambar 5. Gambar pratinjau dengan bokeh diaktifkan

Aktivitas pengambilan gambar mendukung fungsi berikut:

  • Perbesar/perkecil
  • Ketuk untuk fokus
  • Tombol sakelar mode flash
  • EV +/-
  • Tombol sakelar diaktifkan/dinonaktifkan ekstensi

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

Verifikasi hasil gambar yang diambil

Untuk mengambil gambar, ketuk tombol ambil di aktivitas pengambilan gambar. Ini meluncurkan aktivitas validasi gambar yang menunjukkan gambar yang diambil.

photo_viewer-bokeh_enabled

Gambar 6. Gambar yang diambil dengan bokeh diaktifkan

Aktivitas validasi gambar mencakup 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, tap-to-focus, mode flash, dan EV +/- yang ditetapkan saat mengambil gambar.

Jika hasil yang diambil sudah benar, ketuk tombol LULUS di sudut kanan bawah. Jika tidak, ketuk tombol GAGAL di sudut 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 lulus.
  • Latar belakang merah : Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan setidaknya satu hasil mode ekstensi gagal.

camera_validation_resultextension_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 tes yang di-cache.
  • Aplikasi sampel ekstensi: Beralih ke mode aplikasi sampel ekstensi.

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