เครื่องมือตรวจสอบส่วนขยายของกล้องช่วยให้ผู้ผลิตอุปกรณ์ ยืนยันได้ว่า ไลบรารีของผู้ให้บริการ OEM ของส่วนขยายกล้อง ได้รับการติดตั้งใช้งานอย่างถูกต้อง เครื่องมือนี้มีการทดสอบการตรวจสอบอัตโนมัติและการตรวจสอบโดยเจ้าหน้าที่
การทดสอบการตรวจสอบอัตโนมัติ: ตรวจสอบว่ามีการติดตั้งใช้งานอินเทอร์เฟซไลบรารีของผู้ให้บริการ อย่างถูกต้อง เช่น หากต้องใช้
CaptureProcessor
ในการจับภาพ การทดสอบจะตรวจสอบว่าImageCaptureExtenderImpl#getCaptureStages()
แสดงอินสแตนซ์CaptureStage
ที่จำเป็นสำหรับการจับภาพการทดสอบการตรวจสอบด้วยตนเอง: ตรวจสอบเอฟเฟกต์รูปภาพและคุณภาพของ รูปภาพตัวอย่างและรูปภาพที่ถ่าย ตัวอย่างเช่น การทดสอบช่วยให้ผู้ผลิตอุปกรณ์ตรวจสอบด้วยตนเองได้ว่าเอฟเฟกต์รีทัชใบหน้า ทำงานอย่างถูกต้องหรือไม่ หรือความแรงของโบเก้เพียงพอหรือไม่
ซอร์สโค้ดของเครื่องมือตรวจสอบเป็นส่วนหนึ่งของ แอปทดสอบส่วนขยาย ใน ที่เก็บ Android Jetpack
สร้างเครื่องมือตรวจสอบความถูกต้องของส่วนขยายกล้อง
หากต้องการสร้างเครื่องมือตรวจสอบความถูกต้องของส่วนขยาย ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดซอร์สโค้ดของไลบรารี Android Jetpack ดูรายละเอียดได้ที่ส่วนการตรวจสอบโค้ดของREADME ของ Android Jetpack
สร้าง APK ของ
extensionstestapp
ซึ่งช่วยให้เรียกใช้การทดสอบการตรวจสอบด้วยตนเองได้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
สร้าง 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
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
หากการทดสอบทั้งหมดผ่าน ระบบจะแสดงผลลัพธ์เป็น OK มิฉะนั้น รายงานการทดสอบสุดท้าย จะแสดงความล้มเหลวในเทอร์มินัลหลังจากที่การทดสอบทั้งหมดเสร็จสมบูรณ์
รูปที่ 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 +/- ที่ตั้งไว้เมื่อ ถ่ายรูปภาพ
หากผลลัพธ์ที่บันทึกไว้ถูกต้อง ให้แตะปุ่ม PASS (เครื่องหมายถูก) ที่มุมขวาล่าง หรือแตะปุ่ม FAIL (เครื่องหมายตกใจ) ที่มุมซ้ายล่าง
ดูผลการทดสอบ
หลังจากยืนยันโหมดส่วนขยายว่าผ่านหรือไม่ผ่านแล้ว รายการในรายการสำหรับ โหมดส่วนขยายจะแสดงสีพื้นหลังและตัวบ่งชี้ที่แตกต่างกัน ในมุมมองรายการของกล้องทั้งหมด ระบบจะแสดงรายการเป็นสีต่อไปนี้
- พื้นหลังสีขาว: กล้องรองรับโหมดส่วนขยายอย่างน้อย 1 โหมดและ โหมดส่วนขยายที่รองรับยังไม่ได้รับการตรวจสอบอย่างสมบูรณ์
- พื้นหลังสีเขียว: กล้องรองรับโหมดขยายอย่างน้อย 1 โหมด โหมดส่วนขยายที่รองรับทั้งหมดจะได้รับการตรวจสอบและผลลัพธ์ทั้งหมดผ่าน
- พื้นหลังสีแดง: กล้องรองรับโหมดขยายอย่างน้อย 1 โหมด โหมดส่วนขยายที่รองรับทั้งหมดจะได้รับการตรวจสอบโดยมีผลลัพธ์ของโหมดส่วนขยายอย่างน้อย 1 รายการที่ไม่สำเร็จ
- พื้นหลังสีเทา: ฟีเจอร์นี้ไม่พร้อมใช้งาน
รูปที่ 7 สีที่ระบุผลการทดสอบสำหรับกล้องและโหมดส่วนขยาย
ฟังก์ชันอื่นๆ ของเครื่องมือตรวจสอบ
หลังจากทำการทดสอบทั้งหมดเสร็จแล้ว กิจกรรมรายการกล้องจะมีฟังก์ชันต่อไปนี้
- ส่งออกผลการทดสอบ: ส่งออกผลการทดสอบเป็นไฟล์ CSV ไปยังโฟลเดอร์
Documents/ExtensionsValidation
- รีเซ็ต: ล้างผลการทดสอบที่แคชไว้ทั้งหมด
- แอปตัวอย่างส่วนขยาย: เปลี่ยนไปใช้แอปตัวอย่างส่วนขยาย
หลังจากทำการทดสอบเสร็จแล้ว คุณจะส่งออกผลการทดสอบได้ หากพบปัญหาและต้องยืนยันการใช้งานไลบรารีของผู้ให้บริการเวอร์ชันใหม่ที่มี โซลูชันอีกครั้ง ให้รีเซ็ตผลการทดสอบก่อนหน้าและเรียกใช้ โหมดส่วนขยายที่รองรับทั้งหมดในกล้องทุกตัวอีกครั้งเพื่อยืนยันว่าปัญหาได้รับการแก้ไขแล้ว