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ğrulayın. Örneğin, resim çekmek için CaptureProcessor gerekiyorsa testler, ImageCaptureExtenderImpl#getCaptureStages()'un resim çekmek için gereken CaptureStage örneklerini döndürdüğünü doğrular.

  • Manuel doğrulama testleri: Önizleme ve çekilen resimlerin resim efektlerini ve kalitesini doğrulayın. Örneğin, bu testler sayesinde cihaz üreticileri, yüz rötuşu efektinin doğru şekilde uygulanıp uygulanmadığını veya bulanıklık etkisinin yeterli olup olmadığını manuel olarak doğrulayabilir.

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ş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 dokümanının Kodu kontrol etme bölümüne bakın.

  2. extensionstestapp APK'yı oluşturun. Bu sayede manuel doğrulama testleri çalıştırabilirsiniz.

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

    APK, aşağıdaki yola yazı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'yı 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 yazı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 nihai test raporunda terminaldeki hatalar gösterilir.

automated_validation_result-pass

Şekil 1. Otomatik testler için "Tamam" sonucu

automated_validation_result-fail

Şekil 2. Otomatik testler hatayla 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 test ç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 görünür.

camera_validation_result-initial

Şekil 3. Doğrulama aracı modu

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

extension_mode_validation_result-initial

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

Önizleme sonuçlarını doğrulama

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

preview-bokeh_enabled

Şekil 5. Bokeh efekti etkinken resmi önizleme

Resim yakalama etkinliği aşağıdaki işlevleri destekler:

  • Yakınlaştır/uzaklaştır
  • Odaklamak için dokunma
  • Flaş modları anahtarı düğmesi
  • EV +/-
  • Uzantı etkin/devre dışı açma/kapatma 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.

Çekilen resim sonuçlarını doğrulama

Resmi çekmek için resim çekme etkinliğindeki ÇEK 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

Şekil 6. Bokeh efekti etkinken çekilmiş resim

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

  • Resmi ölçeklendirmek için iki parmağı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 kaydet menüsü öğesi

Çekilen görüntünün doğru olup olmadığını ve görüntü çekilirken ayarlanan 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.

Alınan sonuçlar doğruysa sağ alt köşedeki GEÇTİ 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üleme

Bir uzantı modu "geçti" veya "geçmedi" olarak doğrulandıktan sonra, uzantı modunun liste öğesinde farklı bir arka plan rengi ve gösterge 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 uzantı modunu destekler ve desteklenen uzantı modları tamamen doğrulanmamıştır.
  • Yeşil arka plan: Kamera en az bir uzantı modunu destekler. Desteklenen tüm uzantı modları, tüm sonuçların başarılı olduğu şekilde doğrulanır.
  • Kırmızı arka plan: Kamera en az bir uzantı modunu destekler. Desteklenen tüm uzatma modları, en az bir uzatma modu sonucunun başarısız olduğu şekilde doğrulanır.
  • Gri arka plan: Bu özellik kullanılamıyor.

camera_validation_result extension_mode_validation_result

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

Doğrulama aracının diğer 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ınan tüm 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 sorun bulursanız ve çözümlerin yer aldığı tedarikçi kitaplığı uygulaması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.