Kamera uzantıları doğrulama aracı

Kamera uzantıları doğrulama aracı, cihaz üreticilerinin Kamera Uzantıları OEM tedarikçi kitaplığının doğru şekilde uygulandığını doğrulamasına olanak tanır. Araç, otomatik ve manuel doğrulama testlerini içerir.

  • Otomatik doğrulama testleri: Tedarikçi kitaplığı arayüzünün doğru şekilde uygulandığını doğrular. Örneğin, resim çekmek için CaptureProcessor gerekiyorsa testler, resim çekmek için gerekli CaptureStage örneklerinin ImageCaptureExtenderImpl#getCaptureStages() tarafından döndürüldüğünü doğrular.

  • Manuel doğrulama testleri: Önizleme ve çekilen resimlerin 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ılar test uygulamasının bir parçasıdır.

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

Uzantı doğrulama aracını oluşturmak için aşağıdaki adımları uygulayın:

  1. Android Jetpack kitaplığı kaynak kodunu indirin. Ayrıntılar için Android Jetpack README dosyasının Checking out the Code (Kodu kullanıma alma) bölümüne bakın.

  2. extensionstestapp APK'sını oluşturun. Bu sayede manuel doğrulama testleri çalıştırılabilir.

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

    APK, aşağıdaki yola çıkarılı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 çıkarılı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 testleri çalıştırma

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

  • 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

Tüm otomatik testleri çalıştırma

APK'ları yükledikten sonra, tedarikçi kitaplığı uygulamasını doğrulamak için tüm otomatik testleri çalıştırmak üzere 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 OK sonucu döndürülür. Aksi takdirde, tüm testler tamamlandıktan sonra terminalde son test raporunda hatalar gösterilir.

automated_validation_result-pass

1. şekil. Otomatik testler OK sonucu

automated_validation_result-fail

Şekil 2. Otomatik testler başarısızlıkla sonuçlanıyor

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

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 örnekte, ImageCaptureTest sınıfı için testleri çalıştırma komutu gösterilmektedir:

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 testleri çalıştırma

Manuel doğrulama testleri uzantı test uygulamasında bulunur. Uzantı test uygulamasını yükleyip 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 uzantı modunu desteklemiyorsa ilgili liste öğesi gri renkte gösterilir.

camera_validation_result-initial

3.Şekil Doğrulama aracı modu

Test için uzatma modlarını görmek üzere kameralardan birine dokunun. Seçilen kamera tarafından desteklenmeyen uzatma modları gri renkte gösterilir.

extension_mode_validation_result-initial

Şekil 4. Kamera için kullanılabilen uzatma modları

Önizleme sonuçlarını doğrulama

Önizleme sonuçlarını doğrulamak için seçili kameranın uzantı moduna dokunarak manuel bir test başlatın. Önizlemeyi içeren bir görüntü yakalama etkinliği gösterilir.

preview-bokeh_enabled

5.şekil Bokeh özelliği etkin durumdayken önizleme resmi

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

  • Yakınlaştır/uzaklaştır
  • Odaklamak için dokunma
  • Flaş modları arasında geçiş düğmesi
  • EV +/-
  • Uzantı etkin/devre dışı bırakma açma/kapatma düğmesi

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

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

Resmi yakalamak için görüntü yakalama etkinliğinde YAKALA düğmesine (yuvarlak düğme) dokunun. Bu işlem, çekilen resmi gösteren bir resim doğrulama etkinliği başlatır.

photo_viewer-bokeh_enabled

6.şekil Bokeh efekti etkinleştirilmiş şekilde çekilen resim

Resim doğrulama etkinliği aşağıdaki işlevleri içerir:

  • Görüntüyü ölçeklendirmek için parmaklarınızı yakınlaştırın/uzaklaştırın.
  • Çekilen resimler arasında geçiş yapmak için sola/sağa kaydırın.
  • Yeniden yakalama
  • Resmi kaydetme menü öğesi

Çekilen görüntünün doğru olup olmadığını ve görüntüyü çekerken ayarlanan yakınlaştırma/uzaklaştırma, odaklamak için dokunma, flaş modları ve EV +/- ayarlarıyla eşleşip eşleşmediğini doğrulayın.

Elde edilen sonuçlar doğruysa sağ alt köşedeki PASS (GEÇTİ) düğmesine (onay işareti) dokunun. Aksi takdirde, sol alt köşedeki FAIL (BAŞARISIZ) düğmesine (ünlem işareti) dokunun.

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

Bir uzantı modu geçme veya kalma olarak doğrulandıktan sonra, uzantı modunun liste öğesi farklı bir arka plan rengi ve göstergeyle gösterilir. Tüm kameraların liste görünümünde öğeler aşağıdaki renklerde gösterilir:

  • Beyaz arka plan: Kamera en az bir uzatma modunu destekliyor ve desteklenen uzatma modları tamamen doğrulanmıyor.
  • Yeşil arka plan: Kamera en az bir uzatma modunu destekler. Desteklenen tüm uzantı modları, tüm sonuçlar başarılı olacak şekilde doğrulanır.
  • Kırmızı arka plan: Kamera en az bir uzatma modunu destekliyor. Desteklenen tüm uzantı modları, en az bir uzantı modu sonucu başarısız olacak şekilde doğrulanır.
  • Gri arka plan: Bu özellik kullanılamaz.

camera_validation_result extension_mode_validation_result

Şekil 7. Kameralar ve uzantı 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: Tüm önbelleğe alınmış test sonuçlarını temizler.
  • Uzantılar örnek uygulaması: Uzantılar örnek uygulaması moduna geçer.

Testi tamamladıktan sonra test sonuçlarını dışa aktarabilirsiniz. Bir sorunla karşılaşırsanız ve çözümler içeren tedarikçi kitaplığı uygulamasının yeni bir sürümünün tekrar doğrulanması gerekirse önceki test sonuçlarını sıfırlayın ve sorunların düzeltildiğini doğrulamak için tüm kameralarda desteklenen tüm uzantı modlarını yeniden çalıştırın.