相機擴充功能驗證工具

相機擴充功能驗證工具可讓裝置製造商 請確認 相機擴充功能原始設備製造商 (OEM) 供應商程式庫 正確實作。這項工具提供自動和手動驗證。 測試。

  • 自動驗證測試:確認供應商程式庫 正確實作介面。舉例來說,如果 CaptureProcessor 是 需要進行映像檔擷取,而測試可驗證 ImageCaptureExtenderImpl#getCaptureStages() 會傳回必要的 用於擷取圖片的 CaptureStage 執行個體。

  • 手動驗證測試:驗證 預覽畫面和拍攝圖片例如,測試允許 製造商,就能手動驗證修容效果 或散景強度是否足夠。

驗證工具的原始碼屬於 擴充功能測試應用程式Android Jetpack 存放區

建構相機擴充功能驗證工具

如要建立擴充功能驗證工具,請按照下列步驟操作:

  1. 下載 Android Jetpack 程式庫原始碼。詳情請參閱 查看程式碼Android Jetpack README

  2. 建立 extensionstestapp敬上 APK。這樣一來,您就可以執行手動驗證測試。

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

    APK 會輸出至下列路徑:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. 建立 androidTest敬上 APK。這個 APK 可讓您執行自動化驗證測試。

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

    APK 會輸出至下列路徑:

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

執行自動化驗證測試

如要執行自動驗證測試,請安裝 extensionstestappandroidTest 個 APK。

  • 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
    

執行所有自動化測試

安裝 APK 後,執行所有自動化測試,以驗證供應商 更新程式庫,請執行下列指令:

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

如果所有測試都通過,會傳回 OK 結果。否則,最終測試報告 在所有測試完成後,終端機會顯示失敗情形。

auto_validation_result-pass

圖 1. 自動化測試正常結果

auto_validation_result-fail

圖 2. 失敗的自動化測試結果

針對特定類別執行自動化測試

如要執行特定類別的自動化測試,請指定 目標類別。下列範例顯示如何針對 ImageCaptureTest 類別:

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

執行手動驗證測試

您可以在 擴充功能測試應用程式。 安裝及啟動擴充功能測試應用程式後,請切換至 輕觸右上方的選單項目,即可驗證驗證工具模式。

切換至驗證工具模式後,第一頁會列出所有相機 包含 REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE敬上 技術。如果相機不支援任何擴充功能模式, 清單項目顯示為灰色。

camera_validation_result-initial

圖 3. 驗證工具模式

輕觸任一相機即可查看測試用的擴充功能模式。延伸 所選相機不支援的模式會以灰色顯示。

Extensions_mode_validation_result-initial

圖 4. 相機可用的擴充功能模式

驗證預覽結果

如要確認預覽結果,請輕觸 所選相機的擴充功能模式。圖片擷取活動,內容包含 系統就會顯示預覽畫面

預覽-bokeh_已啟用

圖 5. 啟用散景功能的預覽圖片

圖片擷取活動支援下列函式:

  • 放大/縮小
  • 輕觸對焦
  • 閃光燈模式切換按鈕
  • 電動車 +/-
  • 「擴充功能啟用/停用」切換鈕

確認縮放設定、輕觸對焦、閃光燈模式和 EV +/- 函式在預先發布版中會正常運作。

驗證擷取的圖片結果

如要擷取圖片,請輕觸圖片中的「CAPTURE」按鈕 (圓形按鈕) 以便擷取活動 這會啟動圖片驗證活動,顯示所擷取的圖片。

photos_viewer-bokeh_enabled

圖 6. 已啟用散景功能的已擷取圖片

圖片驗證活動包含下列函式:

  • 使用雙指向內/向外撥動即可縮放圖片
  • 左右滑動即可切換擷取的圖片
  • 回顧
  • 儲存圖片選單項目

確認拍攝的圖像是否正確且符合縮放等級 進入/關閉、輕觸對對焦、閃光燈模式,以及電動車 +/- 設定 。

如果擷取的結果正確無誤,請輕觸「通過」按鈕 (勾選標記) 。否則,請輕觸螢幕中的「失敗」按鈕 (驚嘆號) 。

查看測試結果

擴充功能模式經驗證為通過或失敗後, 擴充功能模式會顯示不同的背景顏色和指標。在清單中 所有相機的檢視畫面,項目會以下列顏色顯示:

  • 白色背景:相機至少支援一種擴充功能模式, 系統不會完整驗證支援的擴充功能模式。
  • 綠色背景:相機至少支援一種擴充功能模式。所有語言 系統會依據所有結果傳遞,驗證支援的擴充功能模式。
  • 紅色背景:相機至少支援一種擴充功能模式。所有語言 系統至少透過一種擴充功能模式驗證支援的擴充功能模式 導致結果失敗
  • 灰色背景:這項功能無法使用。

camera_validation_result Extensions_mode_validation_result

圖 7. 指出相機和擴充功能模式測試結果的顏色

其他驗證工具函式

所有測試都完成後,相機清單活動會提供 以下函式:

  • 匯出測試結果:將測試結果匯出成 CSV 檔案 Documents/ExtensionsValidation資料夾。
  • 重設:清除所有快取測試結果。
  • 擴充功能範例應用程式:切換至擴充功能範例應用程式 模式。

完成測試後,您可以匯出測試結果。如果找到 更新,以及導入新的供應商程式庫 解決方案必須再次驗證、重設先前的測試結果,然後重新執行 所有相機支援的所有擴充功能模式,有助於確認問題所在 這些錯誤。