ตัวตรวจสอบชุดทดสอบความเข้ากันได้ของ Android (CTS Verifier) เป็นส่วนเสริมของชุดทดสอบความเข้ากันได้ (CTS) ในขณะที่ CTS ตรวจสอบ API และฟังก์ชันที่สามารถทำให้เป็นอัตโนมัติได้ CTS Verifier จะให้การทดสอบ API และฟังก์ชันที่ไม่สามารถทดสอบบนอุปกรณ์ที่อยู่กับที่โดยไม่ต้องป้อนข้อมูลหรือระบุตำแหน่งด้วยตนเอง เช่น คุณภาพเสียง หน้าจอสัมผัส ตัวตรวจวัดความเร่ง และกล้อง
ความต้องการ
ก่อนที่จะรัน CTS Verifier ตรวจสอบให้แน่ใจว่าคุณมีอุปกรณ์ต่อไปนี้:
- อุปกรณ์ Android ที่ได้ตรวจสอบความเข้ากันได้ของ Android API โดยผ่าน CTS สำเร็จ นี่คืออุปกรณ์ที่อยู่ระหว่างการทดสอบ (DUT)
- คอมพิวเตอร์ Linux พร้อมพอร์ตที่รองรับ USB 2.0 การเชื่อมต่อกับ DUT ทั้งหมดจะต้องผ่านพอร์ตนี้
- อุปกรณ์ Android เครื่องที่สองที่รู้จักการใช้งาน Bluetooth, Wi-Fi direct, Wi-Fi Aware, UWB (หาก DUT รองรับ UWB) และการจำลองการ์ดโฮสต์ NFC (HCE)
- เราเตอร์ Wi-Fi ที่กำหนดค่าด้วยชื่อจุดเข้าใช้งานและรหัสผ่าน เราเตอร์ควรมีความสามารถในการตัดการเชื่อมต่อจากอินเทอร์เน็ต แต่ไม่ได้ปิดอยู่
ตรวจสอบให้แน่ใจว่าคุณได้เตรียมขาตั้งกล้อง ที่วางอุปกรณ์ และระยะทางที่วัดไว้ล่วงหน้าที่จำเป็นสำหรับการทดสอบการวัดระยะทาง (ความใกล้เคียง) สำหรับ UWB, Wi-Fi NAN และ Bluetooth RSSI สำหรับรายละเอียด โปรดดูที่ การสอบเทียบการแสดงตน
ข้อกำหนด UICC สำหรับการทดสอบ NFC
CTS Verifier มีกรณีทดสอบ NFC ดังต่อไปนี้:
- Field-off (ใช้ข้อมูลธุรกรรมตั้งแต่ 0x54)
- ยกเลิกการเลือก (ใช้ข้อมูลธุรกรรมตั้งแต่ 0x52)
- คำสั่ง HCI (0025000000) (ใช้ข้อมูลธุรกรรมตั้งแต่ 0x02)
การทดสอบเหตุการณ์ธุรกรรมต้องใช้อุปกรณ์สองตัว โดยหนึ่งในนั้นต้องมี SecureElement UICC โดยมีกฎการเข้าถึงต่อไปนี้:
- แฮช APK ของ CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- ตัวระบุแอปพลิเคชันที่ได้รับอนุญาต (AID) สำหรับการเข้าถึงเหตุการณ์ NFC: 0xA000000476416E64726F696443545341
ในด้านโปรแกรมจำลอง เราคาดว่าเหตุการณ์ธุรกรรมจะผลักดันกิจกรรมที่เกี่ยวข้องให้อยู่เบื้องหน้า
ติดตั้ง
เปลี่ยนโหมดการนำทางระบบของอุปกรณ์ทดสอบเป็นโหมดสามปุ่มดังนี้:
- เปิดการตั้งค่า
- ไปที่ ระบบ > ท่าทาง > การนำทางของระบบ
- เลือกโหมดการนำทางตามปุ่ม โหมดสามปุ่มที่ต้องการ หากมี
วิธีตั้งค่าสภาพแวดล้อมการทดสอบ CTS Verifier:
บนคอมพิวเตอร์ Linux:
รันคำสั่งต่อไปนี้ก่อนที่จะติดตั้ง CTS Verifier เพื่ออนุญาตการเข้าถึงอินเทอร์เฟซที่ไม่ใช่ SDK
adb shell settings put global hidden_api_policy 1
ติดตั้ง Android Studio
ดาวน์โหลด CTS Verifier APK สำหรับเวอร์ชัน Android เพื่อทดสอบ
เชื่อมต่อ DUT กับคอมพิวเตอร์ Linux
จากเทอร์มินัลบนคอมพิวเตอร์ Linux ให้ติดตั้ง
CtsVerifier.apk
บน DUTadb install -r -g CtsVerifier.apk
สำหรับ Android 10 และสูงกว่า ให้รันคำสั่งต่อไปนี้เพื่อให้สิทธิ์แก่แอปในการสร้างรายงาน
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
สำหรับ Android 11 และสูงกว่า ให้รันคำสั่งต่อไปนี้เพื่ออนุญาตให้บันทึกรายงานในไดเร็กทอรีที่กำหนดด้วยตนเองภายใต้ไดเร็กทอรีระดับบนสุดภายนอกของอุปกรณ์
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
สำหรับ Android 13 ขึ้นไป ให้รันคำสั่งต่อไปนี้เพื่ออนุญาตการเข้าถึง API ทดสอบสำหรับ CTS Verifier
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
สำหรับ Android 14 ขึ้นไป ให้รันคำสั่งต่อไปนี้เพื่อให้สิทธิ์แอปเปิดหน้าจอ
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
ตรวจสอบให้แน่ใจว่า DUT ได้ตั้งค่าวันที่และเวลาของระบบอย่างถูกต้อง
เรียกใช้ CTS Verifier
เปิดแอปพลิเคชัน CTS Verifier โดยแตะไอคอน CTS Verifier บน DUT
รูปที่ 1. ไอคอน CTS Verifier
แอปจะแสดงชุดการทดสอบหลายชุดสำหรับการตรวจสอบด้วยตนเอง
รูปที่ 2 เมนูการทดสอบ CTS Verifier
การทดสอบแต่ละครั้งประกอบด้วยชุดองค์ประกอบทั่วไปที่ด้านล่างของหน้าจอ
รูปที่ 3 หน้าจอทดสอบที่มีการเน้นองค์ประกอบการทดสอบทั่วไปไว้
- ผ่าน (✓) แตะถ้า DUT ตรงตามข้อกำหนดการทดสอบตามคำแนะนำข้อมูล
- ข้อมูล (?) แตะเพื่อแสดงคำแนะนำการทดสอบ จะปรากฏขึ้นโดยอัตโนมัติในครั้งแรกที่เปิดการทดสอบ
- ล้มเหลว (!). แตะหาก DUT ไม่ตรงตามข้อกำหนดการทดสอบตามคำแนะนำข้อมูล
การทดสอบบางอย่าง เช่น โหมดอุปกรณ์เสริม USB และการทดสอบการปรับเทียบกล้อง จำเป็นต้องมีการตั้งค่าการทดสอบเพิ่มเติมและคำแนะนำตามรายละเอียดในส่วนต่อไปนี้
ทดสอบโหมดอุปกรณ์เสริม USB สำหรับ 8.0 และสูงกว่า
รูปที่ 4 ขั้นตอนการทดสอบอุปกรณ์เสริม USB สำหรับ 8.0 ขึ้นไป
รูปที่ 5 การทดสอบโหมดอุปกรณ์เสริม USB สำหรับ 8.0 ขึ้นไป
ทดสอบโหมดอุปกรณ์เสริม USB สำหรับ 7.x และต่ำกว่า
การทดสอบอุปกรณ์เสริม USB ต้องใช้คอมพิวเตอร์ Linux เพื่อรันโปรแกรมเครื่องเดสก์ท็อป USB (โฮสต์)
- เชื่อมต่อ DUT กับคอมพิวเตอร์ Linux
บนคอมพิวเตอร์ ให้รันโปรแกรม
cts-usb-accessory
จากแพ็คเกจ CTS Verifier:./cts-usb-accessory
รอให้ข้อความป๊อปอัพปรากฏบน DUT จากนั้นเลือก ตกลง
รูปที่ 6. การทดสอบอุปกรณ์เสริม USB
ไปที่การทดสอบอุปกรณ์เสริม USB ในแอปพลิเคชัน CTS Verifier บน DUT
บนคอมพิวเตอร์ ให้ตรวจสอบเอาต์พุตจากคอนโซล ตัวอย่างผลลัพธ์:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
ปรับเทียบขอบเขตการมองเห็นของกล้อง
ใช้ขั้นตอนการปรับเทียบขอบเขตการมองเห็นเพื่อกำหนดขอบเขตการมองเห็นของอุปกรณ์อย่างรวดเร็วด้วยความแม่นยำปานกลาง
ตั้งค่าสภาพแวดล้อมการทดสอบ:
- พิมพ์ไฟล์เป้าหมาย calibration-pattern.pdf บนกระดาษขนาด 11” x 17” หรือ A3
- ติดลวดลายที่พิมพ์ไว้บนแผ่นรองหลังที่แข็งแรง
วางแนวอุปกรณ์กล้องและชิ้นงานที่พิมพ์ตามที่แสดงในแผนภาพต่อไปนี้
รูปที่ 7 เป้าหมายที่พิมพ์จากกล้อง
ตั้งค่าความกว้างเป้าหมาย:
- วัดระยะห่าง (เป็นเซนติเมตร) ระหว่างเส้นทึบบนรูปแบบเป้าหมายเพื่อชดเชยความผิดพลาดในการพิมพ์ (~38 ซม.)
- เริ่มแอปพลิเคชันการสอบเทียบ
- กดปุ่มตั้งค่า และเลือก ระยะทางของเครื่องหมาย
- วัดและป้อนระยะห่างถึงรูปแบบเป้าหมาย (~100 ซม.)
- กดปุ่มย้อนกลับเพื่อกลับไปยังตัวอย่างการปรับเทียบ
ตรวจสอบว่าวางอุปกรณ์และเป้าหมายตามที่แสดงในภาพและป้อนระยะทางที่ถูกต้องลงในกล่องโต้ตอบการตั้งค่า ภาพตัวอย่างจะแสดงภาพโดยมีเส้นแนวตั้งซ้อนทับอยู่ เส้นนี้ควรสอดคล้องกับเส้นกึ่งกลางของรูปแบบเป้าหมาย ตารางโปร่งใสสามารถใช้กับเส้นแนวตั้งอื่นๆ เพื่อให้แน่ใจว่าแกนแสงตั้งฉากกับชิ้นงาน
รันการทดสอบการปรับเทียบ:
- เลือกความละเอียดของภาพ (โดยใช้ตัวเลือกที่ด้านซ้ายล่าง) จากนั้นแตะหน้าจอเพื่อถ่ายภาพ การทดสอบจะเข้าสู่โหมดการปรับเทียบและแสดงภาพถ่ายโดยมีเส้นแนวตั้งสองเส้นวางซ้อนอยู่บนภาพ
- กำหนดความแม่นยำ:
- หากเส้นสอดคล้องกับเส้นแนวตั้งบนรูปแบบเป้าหมายภายในไม่กี่เซนติเมตร ขอบเขตการมองเห็นที่รายงานสำหรับความละเอียดที่เลือกจะมีความแม่นยำ
- หากเส้นไม่ตรงกัน แสดงว่าขอบเขตการมองเห็นที่รายงานไม่ถูกต้อง เพื่อแก้ไขปัญหานี้ ให้ปรับตัวเลื่อนที่ด้านล่างของหน้าจอจนกว่าการซ้อนทับจะสอดคล้องกับรูปแบบเป้าหมายให้ใกล้เคียงที่สุด เมื่อภาพซ้อนทับและภาพรูปแบบเป้าหมายอยู่ในแนวเดียวกัน มุมมองที่แสดงจะใกล้เคียงกับค่าที่ถูกต้องโดยประมาณ ขอบเขตการมองเห็นที่รายงานควรอยู่ภายใน +/-2 องศาของค่าการสอบเทียบ
- กดปุ่มย้อนกลับและทำการทดสอบการปรับเทียบซ้ำสำหรับความละเอียดของภาพทั้งหมดที่ DUT รองรับ
เรียกใช้ CTS Verifier สำหรับโหมดอื่น
เริ่มเผยแพร่ CTS 10 R6 และ CTS 11 R2 CTS Verifier รองรับการทดสอบที่จำเป็นสำหรับอุปกรณ์ที่มีโหมดสำรอง หรือสำหรับอุปกรณ์ที่มีโหมดหน้าจอมากกว่าหนึ่งโหมด
ที่ด้านบนของมุมมองรายการหลักใน CTS Verifier จะมีปุ่มแสดงขึ้นเพื่อให้ผู้ใช้สามารถสลับระหว่างโหมดการแสดงผลที่กางออกและพับได้ CTS Verifier จะแสดงการทดสอบที่จำเป็นสำหรับโหมดการแสดงผลที่เลือก หากต้องการดำเนินการโหมดอื่นใน CTS Verifier ควรสลับปุ่มไปที่โหมดการแสดงผลที่เหมาะสมและรันรายการการทดสอบที่แสดง
ผลลัพธ์ของการทดสอบแบบพับจะถูกบันทึกไว้ในรายงานเดียวกันกับการทดสอบแบบกางออก เพื่อระบุผลการทดสอบแต่ละรายการที่เป็นที่มาของชุดการทดสอบ จะมีการเพิ่มส่วนต่อท้ายให้กับชื่อการทดสอบแต่ละรายการภายใต้โหมดพับ
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
ส่งออกผลลัพธ์
หลังจากการทดสอบทั้งหมดเสร็จสิ้น คุณสามารถบันทึกผลลัพธ์เป็นรายงานและดาวน์โหลดลงในคอมพิวเตอร์ได้ ชื่อรายงานจะถูกประทับเวลาโดยอัตโนมัติตามเวลาของระบบ DUT
หากต้องการบันทึกผลการทดสอบ ให้แตะไอคอนบันทึก (ดิสก์) ที่ด้านบนของรายการหมวดหมู่การทดสอบ
รอข้อความป๊อปอัปที่แสดงเส้นทางของไฟล์ไปยังรายงานที่บันทึกไว้ (เช่น
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
) จากนั้นจึงบันทึกเส้นทางเชื่อมต่อ DUT กับคอมพิวเตอร์ Linux
จากการติดตั้ง Android SDK บนคอมพิวเตอร์ Linux ให้ดาวน์โหลดรายงานจากอุปกรณ์ที่เชื่อมต่อโดยใช้
adb shell content read
หรือadb pull CTSVerifierReportPath
สำหรับ Android 7.x และสูงกว่า ให้ดาวน์โหลดรายงานทั้งหมดโดยใช้คำสั่งต่อไปนี้:
adb pull /sdcard/verifierReports
สำหรับ Android 6.0 และต่ำกว่า ให้ดาวน์โหลดรายงานทั้งหมดโดยใช้คำสั่งต่อไปนี้:
adb pull /mnt/sdcard/ctsVerifierReports/
สำหรับ Android 10 ขึ้นไป การใช้งานยานยนต์และอุปกรณ์ที่ทำงานเป็น ผู้ใช้รอง ให้ดาวน์โหลดรายงานล่าสุดโดยใช้คำสั่งต่อไปนี้
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
หากต้องการแสดงรายการรายงานทั้งหมดที่มีอยู่ในอุปกรณ์ที่เชื่อมต่อ:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
หากต้องการดาวน์โหลดรายงานจากรายการ คุณสามารถระบุ ID แถวหรือชื่อไฟล์ได้ ตัวอย่างเช่น:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip > report.zip
หากต้องการล้างผลลัพธ์ผ่าน/ไม่ผ่าน ให้เลือกผลลัพธ์ในแอป CTS Verifier และเลือก Menu > Clear