Kamera Uzantıları Doğrulama Aracı

Kamera uzantıları doğrulama aracı, cihaz üreticilerinin Kamera Uzantıları OEM satıcı kitaplığının doğru şekilde uygulandığını doğrulamasını sağlar. Araç, otomatik ve manuel doğrulama testlerini içerir.

  • Otomatik doğrulama testleri: Satıcı kitaplığı arayüzünün doğru şekilde uygulandığını doğrulayın. Örneğin, görüntü yakalama için CaptureProcessor gerekiyorsa testler ImageCaptureExtenderImpl#getCaptureStages() görüntüleri yakalamak için gerekli CaptureStage örneklerini döndürdüğünü doğrular.

  • Manuel doğrulama testleri: Önizleme ve çekilen görüntülerin görüntü efektlerini ve kalitesini doğrulayın. Örneğin testler, cihaz üreticilerinin yüz rötuş efektinin doğru şekilde uygulanıp uygulanmadığını veya bokeh gücünün yeterli olup olmadığını manuel olarak doğrulamasına olanak tanır.

Doğrulama aracının kaynak kodu , Android Jetpack deposundaki uzantı test uygulamasının bir parçasıdır.

Kamera uzantıları doğrulama aracını oluşturun

Uzantı doğrulama aracını oluşturmak için şu adımları izleyin:

  1. Android Jetpack kütüphanesinin kaynak kodunu indirin. Ayrıntılar için Android Jetpack README'nin Kodu Kontrol Etme bölümüne bakın.

  2. extensionstestapp APK'sını oluşturun. Bu, manuel doğrulama testlerinin çalıştırılmasına olanak tanır.

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

    APK aşağıdaki yola çıktılanır:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. androidTest APK'sını oluşturun. Bu APK, otomatik doğrulama testlerinin çalıştırılmasına olanak tanır.

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

    APK aşağıdaki yola çıktılanır:

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

Otomatik doğrulama testlerini çalıştırın

Otomatik doğrulama testlerini çalıştırmak için extensionstestapp ve androidTest APK'larını yükleyin.

  • extensionstestapp APK'sı

      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
    

Tüm otomatik testleri çalıştırın

APK'ları yükledikten sonra satıcı kitaplığı uygulamasını doğrulamak amacıyla tüm otomatik testleri çalıştırmak için aşağıdaki komutu çalıştırın:

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

Tüm testler başarılı olursa, Tamam sonucu döndürülür. Aksi takdirde, nihai test raporu, tüm testler tamamlandıktan sonra terminaldeki arızaları gösterir.

auto_validation_result-pass

Şekil 1. Otomatik testlerin Tamam sonucu

auto_validation_result-fail

Şekil 2. Hatalı otomatik testler sonucu

Belirli bir sınıfın otomatik testlerini çalıştırın

Belirli bir sınıfın otomatik testlerini çalıştırmak için hedef sınıfın adını ve yolunu belirtin. Aşağıdaki örnek, ImageCaptureTest sınıfına yönelik testleri çalıştırma komutunu gösterir:

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

Manuel doğrulama testlerini çalıştırın

Manuel doğrulama testleri, uzantı test uygulamasında bulunur. Uzantı test uygulamasını kurup başlattıktan sonra sağ üstteki menü öğesine dokunarak doğrulama aracı moduna geçin.

Doğrulama aracı moduna geçtikten sonra ilk sayfada REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE özelliğini içeren tüm kameralar listelenir. Bir kamera herhangi bir genişletme modunu desteklemiyorsa ilgili liste öğesi gri renkte olur.

Camera_validation_result-initial

Şekil 3. Doğrulama aracı modu

Test amaçlı uzatma modlarını görmek için kameralardan birine dokunun. Seçilen kameranın desteklemediği genişletme modları gri renkte gösterilir.

extension_mode_validation_result-initial

Şekil 4. Bir kamera için kullanılabilen genişletme modları

Önizleme sonuçlarını doğrulayın

Önizleme sonuçlarını doğrulamak için seçilen kamera için bir genişletme moduna dokunarak manuel bir test başlatın. Daha sonra önizlemeyi içeren bir görüntü yakalama etkinliği gösterilir.

önizleme-bokeh_enabled

Şekil 5. Bokeh etkinleştirilmiş önizleme görüntüsü

Görüntü yakalama etkinliği aşağıdaki işlevleri destekler:

  • Yakınlaştır/uzaklaştır
  • Odaklanmak için dokunun
  • Flaş modları değiştirme düğmesi
  • EV +/-
  • Uzantı etkin/devre dışı geçiş düğmesi

Yakınlaştırma/uzaklaştırma, dokunarak odaklama, flaş modları ve EV +/- işlevlerinin önizlemede beklendiği gibi çalıştığını doğrulayın.

Yakalanan görüntü sonuçlarını doğrulayın

Görüntüyü yakalamak için, görüntü yakalama etkinliğindeki YAKALA düğmesine (yuvarlak düğme) dokunun. Bu, yakalanan görüntüyü gösteren bir görüntü doğrulama etkinliğini başlatır.

photo_viewer-bokeh_enabled

Şekil 6. Bokeh etkinken çekilen görüntü

Görüntü doğrulama etkinliği aşağıdaki işlevleri içerir:

  • Görüntüyü ölçeklendirmek için yakınlaştırın/uzaklaştırın
  • Yakalanan görüntüleri değiştirmek için sola/sağa kaydırın
  • Yeniden Yakalama
  • Görüntü menü öğesini kaydet

Yakalanan görüntünün doğru olduğunu ve görüntüyü çekerken belirlenen yakınlaştırma/uzaklaştırma, dokunarak odaklama, flaş modları ve EV +/- ayarlarıyla eşleşip eşleşmediğini doğrulayın.

Yakalanan sonuçlar doğruysa sağ alt köşedeki PASS düğmesine (onay işareti) dokunun. Aksi takdirde, sol alt köşedeki BAŞARISIZ düğmesine (ünlem işareti) dokunun.

Test sonuçlarını görüntüle

Bir uzatma modunun başarılı veya başarısız olduğu doğrulandıktan sonra, uzatma moduna ilişkin liste öğesi farklı bir arka plan rengi ve göstergesi gösterir. Tüm kameraların liste görünümünde öğeler aşağıdaki renklerde görüntülenir:

  • Beyaz arka plan: Kamera en az bir genişletme modunu destekler ve desteklenen genişletme modları tam olarak doğrulanmamıştır.
  • Yeşil arka plan: Kamera en az bir genişletme modunu destekler. Desteklenen tüm uzantı modları, tüm sonuçların geçmesiyle doğrulanır.
  • Kırmızı arka plan: Kamera en az bir genişletme modunu destekler. Desteklenen tüm uzantı modları, en az bir uzantı modu sonucunun başarısız olmasıyla doğrulanır.
  • Gri arka plan: Bu özellik mevcut değil.

kamera_validation_resultextension_mode_validation_result

Şekil 7. Kameralar ve uzatma modları için test sonuçlarını gösteren renkler

Diğer doğrulama aracı işlevleri

Tüm testler tamamlandıktan sonra kamera listesi etkinliği aşağıdaki işlevleri sağlar:

  • Test sonuçlarını dışa aktar: Test sonuçlarını CSV dosyası olarak Documents/ExtensionsValidation klasörüne aktarır.
  • Sıfırla: Önbelleğe alınmış tüm test sonuçlarını temizler.
  • Uzantı örnek uygulaması: Uzantı örnek uygulama moduna geçiş yapar.

Testi tamamladıktan sonra test sonuçlarını dışa aktarabilirsiniz. Bir sorun bulursanız ve satıcı kitaplığı uygulamasının çözümlerle birlikte yeni bir sürümünün yeniden doğrulanması gerekiyorsa, önceki test sonuçlarını sıfırlayın ve sorunların giderildiğini doğrulamak için tüm kameralarda desteklenen tüm uzantı modlarını yeniden çalıştırın.