เครื่องมือตรวจสอบส่วนขยายกล้อง

เครื่องมือตรวจสอบส่วนขยายกล้องช่วยให้ผู้ผลิตอุปกรณ์ตรวจสอบได้ว่ามีการใช้คลังผู้ให้บริการ OEM ของส่วนขยายกล้องอย่างถูกต้อง เครื่องมือนี้มีทั้งการทดสอบการตรวจสอบ แบบอัตโนมัติและด้วยตนเอง

  • การทดสอบการตรวจสอบอัตโนมัติ: ตรวจสอบว่าอินเทอร์เฟซไลบรารีของผู้ให้บริการใช้งานได้อย่างถูกต้อง ตัวอย่างเช่น หากต้องใช้ CaptureProcessor ในการจับภาพ การทดสอบจะตรวจสอบว่า ImageCaptureExtenderImpl#getCaptureStages() แสดงผลอินสแตนซ์ CaptureStage ที่จำเป็นสำหรับการจับภาพ

  • การทดสอบการตรวจสอบด้วยตนเอง: ตรวจสอบเอฟเฟกต์รูปภาพและคุณภาพของตัวอย่างและรูปภาพที่ถ่าย ตัวอย่างเช่น การทดสอบช่วยให้ผู้ผลิตอุปกรณ์สามารถตรวจสอบด้วยตนเองว่าเอฟเฟกต์รีทัชใบหน้าทำงานอย่างถูกต้องหรือไม่ หรือความเข้มของโบเก้เพียงพอหรือไม่

แหล่งที่มาของเครื่องมือตรวจสอบเป็นส่วนหนึ่งของแอปทดสอบส่วนขยายในที่เก็บข้อมูล Android Jetpack

สร้างเครื่องมือตรวจสอบส่วนขยายกล้อง

หากต้องการสร้างเครื่องมือตรวจสอบชิ้นงาน ให้ทําตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดซอร์สโค้ดไลบรารี Android Jetpack โปรดดูรายละเอียดที่ส่วนการตรวจสอบโค้ดของREADME ของ Android Jetpack

  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. สร้าง APK ของ androidTest 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
    

เรียกใช้การทดสอบความถูกต้องอัตโนมัติ

หากต้องการเรียกใช้การทดสอบการตรวจสอบอัตโนมัติ ให้ติดตั้ง APK extensionstestapp และ androidTest

  • 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 ผลการทดสอบอัตโนมัติเป็น "OK"

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 โหมดเครื่องมือตรวจสอบ

แตะกล้องตัวใดตัวหนึ่งเพื่อดูโหมดขยายเวลาสำหรับการทดสอบ โหมดส่วนขยายที่กล้องที่เลือกไม่รองรับจะแสดงเป็นสีเทา

ส่วนขยาย_โหมด_การตรวจสอบ_ผลลัพธ์-เริ่มต้น

รูปที่ 4 โหมดส่วนขยายที่ใช้ได้กับกล้อง

ยืนยันผลลัพธ์การแสดงตัวอย่าง

หากต้องการตรวจสอบผลการแสดงตัวอย่าง ให้เริ่มการทดสอบด้วยตนเองโดยแตะโหมดส่วนขยายสำหรับกล้องที่เลือก จากนั้นระบบจะแสดงกิจกรรมการจับภาพที่มีตัวอย่าง

preview-bokeh_enabled

รูปที่ 5 แสดงตัวอย่างรูปภาพโดยเปิดใช้โบเก้

กิจกรรมการจับภาพรูปภาพรองรับฟังก์ชันต่อไปนี้

  • ซูมเข้า/ออก
  • แตะเพื่อโฟกัส
  • ปุ่มสลับโหมดแฟลช
  • EV +/-
  • ปุ่มเปิด/ปิดใช้ส่วนขยาย

ตรวจสอบว่าฟังก์ชันการซูมเข้า/ออก การแตะเพื่อโฟกัส โหมดแฟลช และ EV +/- ทำงานตามที่คาดไว้ในตัวอย่าง

ยืนยันผลลัพธ์รูปภาพที่จับภาพ

หากต้องการถ่ายภาพ ให้แตะปุ่มจับภาพ (ปุ่มกลม) ในกิจกรรมจับภาพ ซึ่งจะเปิดกิจกรรมการตรวจสอบรูปภาพที่แสดงรูปภาพที่จับภาพไว้

photo_viewer-bokeh_enabled

รูปที่ 6 รูปภาพที่จับภาพโดยเปิดใช้โบเก้

กิจกรรมการตรวจสอบรูปภาพประกอบด้วยฟังก์ชันต่อไปนี้

  • บีบนิ้วเข้า/ออกเพื่อปรับขนาดรูปภาพ
  • เลื่อนไปทางซ้าย/ขวาเพื่อสลับรูปภาพที่จับภาพไว้
  • จับภาพอีกครั้ง
  • บันทึกรายการในเมนูรูปภาพ

ตรวจสอบว่ารูปภาพที่ถ่ายถูกต้องและตรงกับการตั้งค่าการซูมเข้า/ออก การแตะเพื่อโฟกัส โหมดแฟลช และ EV +/- ที่ตั้งไว้เมื่อถ่ายภาพ

หากผลลัพธ์ที่บันทึกไว้ถูกต้อง ให้แตะปุ่มผ่าน (เครื่องหมายถูก) ที่มุมขวาล่าง หรือแตะปุ่มไม่ผ่าน (เครื่องหมายอัศเจรีย์) ที่มุมล่างซ้าย

ดูผลการทดสอบ

หลังจากโหมดส่วนขยายได้รับการยืนยันว่าผ่านหรือไม่ผ่าน รายการสำหรับโหมดส่วนขยายจะแสดงสีพื้นหลังและสัญญาณบอกสถานะที่ต่างออกไป ในมุมมองรายการของกล้องทั้งหมด รายการจะแสดงเป็นสีต่อไปนี้

  • พื้นหลังสีขาว: กล้องรองรับโหมดขยายอย่างน้อย 1 โหมด และโหมดขยายที่รองรับยังไม่ได้รับการตรวจสอบอย่างสมบูรณ์
  • พื้นหลังสีเขียว: กล้องรองรับโหมดขยายอย่างน้อย 1 โหมด โหมดชิ้นงานทั้งหมดที่รองรับได้รับการตรวจสอบแล้วโดยผลลัพธ์ทั้งหมดผ่าน
  • พื้นหลังสีแดง: กล้องรองรับโหมดขยายอย่างน้อย 1 โหมด โหมดส่วนขยายที่รองรับทั้งหมดได้รับการตรวจสอบแล้ว โดยมีผลลัพธ์ไม่ผ่านอย่างน้อย 1 โหมด
  • พื้นหลังสีเทา: ฟีเจอร์นี้ไม่พร้อมใช้งาน

camera_validation_result extension_mode_validation_result

รูปที่ 7 สีที่ระบุผลการทดสอบสำหรับกล้องและโหมดการขยาย

ฟังก์ชันอื่นๆ ของเครื่องมือตรวจสอบ

หลังจากการทดสอบทั้งหมดเสร็จสมบูรณ์แล้ว กิจกรรมรายการกล้องจะมีฟังก์ชันต่อไปนี้

  • ส่งออกผลการทดสอบ: ส่งออกผลการทดสอบเป็นไฟล์ CSV ไปยังโฟลเดอร์ Documents/ExtensionsValidation
  • รีเซ็ต: ล้างผลทดสอบที่แคชไว้ทั้งหมด
  • แอปตัวอย่างส่วนขยาย: สลับเป็นโหมดแอปตัวอย่างส่วนขยาย

หลังจากทดสอบเสร็จแล้ว คุณจะส่งออกผลการทดสอบได้ หากพบปัญหาและจำเป็นต้องยืนยันการใช้งานไลบรารีของผู้ให้บริการเวอร์ชันใหม่ที่มีวิธีแก้ปัญหาอีกครั้ง ให้รีเซ็ตผลการทดสอบก่อนหน้าและเรียกใช้โหมดการขยายที่รองรับทั้งหมดในกล้องทั้งหมดอีกครั้งเพื่อยืนยันว่าปัญหาได้รับการแก้ไขแล้ว