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