เครื่องมือตรวจสอบส่วนขยายของกล้องช่วยให้ผู้ผลิตอุปกรณ์สามารถตรวจสอบได้ว่า ไลบรารีผู้จำหน่าย 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
APK
androidTest
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 จะถูกส่งกลับ มิฉะนั้น รายงานการทดสอบขั้นสุดท้ายจะแสดงความล้มเหลวในหน้าจอหลังจากการทดสอบทั้งหมดเสร็จสิ้น
รูปที่ 1 ผลการทดสอบอัตโนมัติตกลง
รูปที่ 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 +/- ทำงานตามที่คาดไว้ในการแสดงตัวอย่าง
ตรวจสอบผลลัพธ์ภาพที่ถ่ายได้
หากต้องการถ่ายภาพ ให้แตะปุ่ม CAPTURE (ปุ่มกลม) ในกิจกรรมการถ่ายภาพ ซึ่งจะเป็นการเปิดกิจกรรมการตรวจสอบความถูกต้องของรูปภาพซึ่งแสดงภาพที่ถ่าย
รูปที่ 6 ภาพที่ถ่ายโดยเปิดใช้โบเก้
กิจกรรมการตรวจสอบความถูกต้องของภาพประกอบด้วยฟังก์ชันต่อไปนี้:
- บีบนิ้วเข้า/ออกเพื่อปรับขนาดภาพ
- เลื่อนไปทางซ้าย/ขวาเพื่อสลับภาพที่ถ่าย
- เรียกคืน
- บันทึกรายการเมนูรูปภาพ
ตรวจสอบว่าภาพที่ถ่ายนั้นถูกต้องและตรงกับการซูมเข้า/ออก การแตะเพื่อโฟกัส โหมดแฟลช และการตั้งค่า EV +/- ที่ตั้งไว้เมื่อถ่ายภาพ
หากผลลัพธ์ที่บันทึกได้ถูกต้อง ให้แตะปุ่ม PASS (เครื่องหมายถูก) ที่มุมขวาล่าง หรือแตะปุ่ม FAIL (เครื่องหมายอัศเจรีย์) ที่มุมซ้ายล่าง
ดูผลการทดสอบ
หลังจากที่โหมดส่วนขยายได้รับการยืนยันว่าผ่านหรือไม่ผ่าน รายการสำหรับโหมดส่วนขยายจะแสดงสีพื้นหลังและตัวบ่งชี้ที่แตกต่างกัน ในมุมมองรายการของกล้องทั้งหมด รายการต่างๆ จะแสดงเป็นสีต่อไปนี้:
- พื้นหลังสีขาว: กล้องรองรับโหมดส่วนขยายอย่างน้อยหนึ่งโหมด และโหมดส่วนขยายที่รองรับยังไม่ได้รับการตรวจสอบอย่างสมบูรณ์
- พื้นหลังสีเขียว: กล้องรองรับโหมดส่วนขยายอย่างน้อยหนึ่งโหมด โหมดส่วนขยายที่รองรับทั้งหมดได้รับการตรวจสอบความถูกต้องโดยผ่านผลลัพธ์ทั้งหมด
- พื้นหลังสีแดง: กล้องรองรับโหมดส่วนขยายอย่างน้อยหนึ่งโหมด โหมดส่วนขยายที่รองรับทั้งหมดได้รับการตรวจสอบแล้ว โดยผลลัพธ์ของโหมดส่วนขยายอย่างน้อยหนึ่งรายการไม่ผ่าน
- พื้นหลังสีเทา: คุณลักษณะนี้ไม่พร้อมใช้งาน
รูปที่ 7. สีที่แสดงถึงผลการทดสอบสำหรับกล้องและโหมดส่วนขยาย
ฟังก์ชั่นเครื่องมือตรวจสอบอื่น ๆ
หลังจากการทดสอบทั้งหมดเสร็จสิ้น กิจกรรมรายการกล้องจะมีฟังก์ชันต่อไปนี้:
- ส่งออกผลการทดสอบ: ส่งออกผลการทดสอบเป็นไฟล์ CSV ไปยังโฟลเดอร์
Documents/ExtensionsValidation
- รีเซ็ต: ล้างผลการทดสอบที่แคชไว้ทั้งหมด
- แอปตัวอย่างส่วนขยาย: สลับไปที่โหมดแอปตัวอย่างส่วนขยาย
หลังจากเสร็จสิ้นการทดสอบ คุณสามารถส่งออกผลการทดสอบได้ หากคุณพบปัญหาและจำเป็นต้องตรวจสอบการใช้งานไลบรารีของผู้ขายเวอร์ชันใหม่พร้อมโซลูชันอีกครั้ง ให้รีเซ็ตผลการทดสอบก่อนหน้าและรันโหมดส่วนขยายที่รองรับทั้งหมดบนกล้องทุกตัวอีกครั้งเพื่อตรวจสอบว่าปัญหาได้รับการแก้ไขแล้ว