เครื่องมือตรวจสอบส่วนขยายกล้องช่วยให้ผู้ผลิตอุปกรณ์ ตรวจสอบว่า ไลบรารีผู้ให้บริการ OEM ส่วนขยายกล้อง นำไปปฏิบัติอย่างถูกต้อง เครื่องมือนี้มีทั้งการตรวจสอบแบบอัตโนมัติและการตรวจสอบด้วยตนเอง การทดสอบ
การทดสอบการตรวจสอบอัตโนมัติ: ตรวจสอบว่าไลบรารีของผู้ให้บริการ ของอินเทอร์เฟซผู้ใช้ได้อย่างถูกต้อง ตัวอย่างเช่น หาก
CaptureProcessor
คือ ที่จำเป็นในการจับภาพ การทดสอบจะตรวจสอบยืนยันว่าImageCaptureExtenderImpl#getCaptureStages()
ส่งคืนข้อมูลที่ต้องระบุCaptureStage
อินสแตนซ์สำหรับการจับภาพการทดสอบการตรวจสอบด้วยตนเอง: ตรวจสอบเอฟเฟกต์รูปภาพและคุณภาพของ ภาพตัวอย่างและภาพที่บันทึก เช่น การทดสอบจะช่วยให้อุปกรณ์ ผู้ผลิตเพื่อตรวจสอบด้วยตนเองว่าเอฟเฟ็กต์รีทัชใบหน้า ถูกนำไปใช้อย่างถูกต้อง หรือความแรงของโบเก้เพียงพอหรือไม่
ซอร์สโค้ดของเครื่องมือตรวจสอบเป็นส่วนหนึ่งของ แอปทดสอบส่วนขยาย ในช่วง ที่เก็บ Android Jetpack
สร้างเครื่องมือตรวจสอบส่วนขยายกล้อง
หากต้องการสร้างเครื่องมือตรวจสอบส่วนขยาย ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดซอร์สโค้ดไลบรารี Android Jetpack โปรดดูรายละเอียดที่ ตรวจสอบโค้ด ของ Android Jetpack README
สร้าง
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
สร้าง
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
เรียกใช้การทดสอบความถูกต้องอัตโนมัติ
หากต้องการเรียกใช้การทดสอบความถูกต้องอัตโนมัติ ให้ติดตั้ง extensionstestapp
และ
androidTest
APK
extensionstestapp
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb 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
หากการทดสอบทั้งหมดผ่าน ระบบจะแสดงผลลัพธ์ที่ปกติ ไม่เช่นนั้น รายงานการทดสอบขั้นสุดท้าย แสดงความล้มเหลวในเทอร์มินัลหลังจากการทดสอบทั้งหมดเสร็จสิ้น
รูปที่ 1 ผลการทดสอบอัตโนมัติ OK
รูปที่ 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
แบบพื้นฐาน หากกล้องไม่รองรับโหมดส่วนขยายใดๆ
รายการเป็นสีเทา
รูปที่ 3 โหมดเครื่องมือตรวจสอบ
แตะกล้องตัวใดตัวหนึ่งเพื่อดูโหมดส่วนขยายสำหรับการทดสอบ ส่วนขยาย โหมดที่กล้องที่เลือกไม่รองรับจะแสดงเป็นสีเทา
รูปที่ 4 โหมดส่วนขยายที่ใช้ได้กับกล้อง
ตรวจสอบตัวอย่างผลลัพธ์
หากต้องการยืนยันผลลัพธ์ตัวอย่าง ให้เริ่มการทดสอบด้วยตนเองโดยแตะ โหมดส่วนขยายสำหรับกล้องที่เลือก กิจกรรมการจับภาพที่มี ตัวอย่างก็จะแสดงให้เห็น
รูปที่ 5 แสดงตัวอย่างรูปภาพที่เปิดใช้โบเก้
กิจกรรมการจับภาพรองรับฟังก์ชันต่อไปนี้
- ซูมเข้า/ออก
- แตะเพื่อโฟกัส
- ปุ่มเปลี่ยนโหมดแฟลช
- EV +/-
- ปุ่มสวิตช์เปิด/ปิดใช้ส่วนขยาย
ตรวจสอบว่าการซูมเข้า/ออก แตะเพื่อโฟกัส โหมดแฟลช และ ฟังก์ชัน EV +/- ทำงานได้ตามที่คาดไว้ในตัวอย่าง
ตรวจสอบผลลัพธ์ของรูปภาพที่จับภาพไว้
หากต้องการจับภาพ ให้แตะปุ่มจับภาพ (ปุ่มวงกลม) ในรูปภาพ การจับภาพกิจกรรม ซึ่งจะเป็นการเริ่มกิจกรรมการตรวจสอบรูปภาพซึ่งจะแสดงรูปภาพที่จับภาพไว้
รูปที่ 6 จับภาพและเปิดโบเก้ไว้
กิจกรรมการตรวจสอบรูปภาพมีฟังก์ชันต่อไปนี้
- บีบเข้า/ออกเพื่อปรับขนาดรูปภาพ
- เลื่อนไปทางซ้าย/ขวาเพื่อสลับรูปภาพที่จับภาพไว้
- ทบทวน
- บันทึกรายการในเมนูรูปภาพ
ยืนยันว่ารูปภาพที่จับภาพถูกต้องและตรงกับการซูม เข้า/ออก แตะเพื่อโฟกัส โหมดแฟลช และการตั้งค่า EV +/- ที่ตั้งไว้เมื่อ ที่กำลังจับภาพ
หากผลลัพธ์ที่บันทึกถูกต้อง ให้แตะปุ่มผ่าน (เครื่องหมายถูก) ใน ที่มุมขวาล่าง หากไม่เป็นเช่นนั้น ให้แตะปุ่มไม่ผ่าน (เครื่องหมายอัศเจรีย์) ที่มุมซ้ายล่าง
ดูผลการทดสอบ
หลังจากโหมดส่วนขยายได้รับการยืนยันว่าผ่านหรือไม่ผ่าน รายการสำหรับฟิลด์ โหมดส่วนขยายจะแสดงสีพื้นหลังและสัญญาณบอกสถานะที่แตกต่างออกไป ในรายการ ของกล้องทั้งหมด รายการจะแสดงด้วยสีต่อไปนี้:
- พื้นหลังสีขาว: กล้องรองรับโหมดส่วนขยายอย่างน้อย 1 โหมดและ โหมดส่วนขยายที่รองรับไม่ได้ตรวจสอบอย่างสมบูรณ์
- พื้นหลังสีเขียว: กล้องรองรับโหมดส่วนขยายอย่างน้อย 1 โหมด ทั้งหมด โหมดส่วนขยายที่รองรับจะได้รับการตรวจสอบกับผลลัพธ์ที่ผ่านทั้งหมด
- พื้นหลังสีแดง: กล้องรองรับโหมดส่วนขยายอย่างน้อย 1 โหมด ทั้งหมด โหมดส่วนขยายที่รองรับจะได้รับการตรวจสอบด้วยโหมดส่วนขยายอย่างน้อย 1 โหมด ไม่สำเร็จ
- พื้นหลังสีเทา: ฟีเจอร์นี้ไม่พร้อมใช้งาน
รูปที่ 7 สีที่ระบุผลการทดสอบกล้องและโหมดส่วนขยาย
ฟังก์ชันอื่นๆ ของเครื่องมือตรวจสอบ
หลังจากการทดสอบทั้งหมดเสร็จสิ้น กิจกรรมรายการกล้องจะแสดงข้อมูล ฟังก์ชันต่อไปนี้
- ส่งออกผลการทดสอบ: ส่งออกผลการทดสอบเป็นไฟล์ CSV ไปยังไฟล์
Documents/ExtensionsValidation
โฟลเดอร์ - รีเซ็ต: ล้างผลการทดสอบที่แคชไว้ทั้งหมด
- แอปตัวอย่างส่วนขยาย: เปลี่ยนไปใช้แอปตัวอย่างส่วนขยาย
หลังจากทดสอบเสร็จแล้ว คุณจะส่งออกผลการทดสอบได้ หากคุณเห็น และการใช้งานไลบรารีของผู้ให้บริการเวอร์ชันใหม่ที่มี โซลูชันจำเป็นต้องมีการยืนยันอีกครั้ง รีเซ็ตผลการทดสอบก่อนหน้า และเรียกใช้อีกครั้ง โหมดส่วนขยายที่รองรับทั้งหมดในกล้องทุกตัวเพื่อยืนยันว่าปัญหา ได้รับการแก้ไขแล้ว