หน้านี้มีวิธีการใช้การทดสอบแบบหลายอุปกรณ์ของ CTS Verifier (CTS-V) สำหรับ Android 16 ขึ้นไป
ตั้งค่าการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์
ส่วนนี้จะอธิบายวิธีตั้งค่าการทดสอบแบบหลายอุปกรณ์
- ตรวจสอบว่าเครื่องเดสก์ท็อปเป็นไปตามข้อกำหนดของระบบปฏิบัติการ สำหรับ CTS
- ทำตามขั้นตอนที่ 2 และ 5 ของติดตั้งซอฟต์แวร์เดสก์ท็อป เพื่อให้แน่ใจว่าได้ติดตั้ง adb, AAPT2 และ Python อย่างถูกต้องบน เดสก์ท็อป
เตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) ที่ตรงกัน 2 เครื่อง โดยแต่ละเครื่องมีการตั้งค่า CTS-V
- ดูข้อมูลเกี่ยวกับการตั้งค่า DUT ได้ที่ตั้งค่า DUT
- ดูวิธีการตั้งค่า CTS-V ได้ที่การตั้งค่า
หากคุณกำลังทดสอบโมดูลอื่นที่ไม่ใช่ NFC ให้ทำตามตั้งค่าการทดสอบมาตรฐานแบบ 2 อุปกรณ์
- สำหรับการทดสอบ NFC ให้ทำตามตั้งค่าการทดสอบ NFC
หากกำลังทดสอบโมดูล CDM ให้ทำตามตั้งค่าการทดสอบ CDM นอกเหนือจากการตั้งค่าอุปกรณ์ 2 เครื่องมาตรฐาน
ตั้งค่าการทดสอบแบบ 2 อุปกรณ์มาตรฐาน
สำหรับการตั้งค่าเริ่มต้นแบบ 2 อุปกรณ์ ให้ทำดังนี้
- วาง DUT ของ Android 2 เครื่องที่ตรงกันให้ห่างกันประมาณ 20 ซม.
วางอุปกรณ์ทั้ง 2 เครื่องไว้ในกล่องป้องกันเพื่อให้สภาพแวดล้อมสะอาด
(ไม่บังคับ) ตั้งค่าเครื่องดมกลิ่น OTA สำหรับการแก้ไขข้อบกพร่องของ Wi-Fi
ตั้งค่าการทดสอบ NFC
การทดสอบ NFC ใช้ DUT 1 เครื่องและชิป NFC PN532
วิธีตั้งค่าการทดสอบ NFC
- ซื้อชิป NFC PN532 เราขอแนะนำให้ใช้ PN532 แบบออลอินวัน
ใน DUT ให้ไปที่แอปการตั้งค่า
เปิดใช้ NFC
วางชิป NFC โดย
สำหรับโทรศัพท์ ให้วางเครื่องอ่าน NFC ของ DUT ตามที่แสดงในรูปที่ 1
รูปที่ 1 การวางตำแหน่งชิป NFC
สำหรับอุปกรณ์ประเภทอื่นๆ ให้วางชิปไว้ข้างเสาอากาศ NFC ของอุปกรณ์
ต่อชิป NFC PN532 เข้ากับเวิร์กสเตชันทดสอบโดยใช้สาย USB
ตั้งค่าการทดสอบ CDM
test_permissions_sync()
กรณีทดสอบมีลักษณะการทำงานที่แตกต่างกันไปตาม
ประเภทบิลด์ของอุปกรณ์ที่ใช้ทดสอบ สิ่งสำคัญคือ
ทั้งบิลด์ที่แก้ไขข้อบกพร่องได้ (userdebug หรือ eng) และบิลด์ที่แก้ไขข้อบกพร่องไม่ได้ (user) ต้องได้รับการ
ทดสอบโดย OEM และการทดสอบต้องผ่านทั้ง 2 บิลด์
การยกเว้น
ข้อกำหนด CDD สำหรับการติดตั้งใช้งาน API การซิงค์สิทธิ์กำหนดให้ API ดังกล่าวต้อง โอนข้อมูลระหว่างอุปกรณ์ผ่านช่องทางที่ปลอดภัยได้สำเร็จเท่านั้น เนื่องจากการติดตั้งใช้งานช่องทางที่ปลอดภัยไม่ใช่ข้อกำหนดการปฏิบัติตามข้อกำหนด CDD คุณจึงข้ามการทดสอบนี้ได้ในบิลด์ที่ไม่สามารถแก้ไขข้อบกพร่องได้ (ผู้ใช้) แต่จะข้ามได้ก็ต่อเมื่อคุณต้องการเลือกไม่ใช้การรองรับฟีเจอร์การซิงค์สิทธิ์ CDM เท่านั้น
การทดสอบต้องผ่านในบิลด์ที่แก้ไขข้อบกพร่องได้โดยไม่มีข้อยกเว้น
ข้อกำหนดเบื้องต้นสำหรับการทดสอบในบิลด์ที่แก้ไขข้อบกพร่องไม่ได้
หากคุณไม่ได้รับการยกเว้นตามข้อกำหนดการยกเว้นก่อนหน้านี้ โปรดตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้นต่อไปนี้
ช่องทางที่ปลอดภัยใช้ AVF (AttestationVerificationFramework
) เพื่อยืนยัน
ความน่าเชื่อถือของฮาร์ดแวร์ การรับรองที่ทั้ง 2 ฝ่ายสร้างขึ้นจะมีข้อมูลหลายอย่างเกี่ยวกับตัวเองเพื่อให้แน่ใจว่าไม่มีการดัดแปลงระบบโดยไม่ได้รับอนุญาต AVF จะตรวจสอบสถานะต่อไปนี้
ในระหว่างกระบวนการยืนยัน
- อุปกรณ์มีสิทธิ์เข้าถึงอินเทอร์เน็ต
- อุปกรณ์ใช้การบูตที่ยืนยันแล้ว และต้องลงนามในบิลด์ด้วยคีย์เวอร์ชันที่เผยแพร่ ไม่ใช่คีย์สำหรับนักพัฒนาแอป
- อุปกรณ์ล็อก Bootloader อยู่ ดูวิธีการโดยละเอียดได้ที่ การล็อก Bootloader
- ระดับแพตช์ของระบบปฏิบัติการ การเปิดเครื่องหลัก และผู้จำหน่ายหลักอยู่ภายใน 12 เดือน อย่าใช้ บิลด์ที่เก่ากว่า 1 ปี
การรับรองอุปกรณ์ได้รับการสนับสนุนโดยใบรับรองรูทที่ผู้ให้บริการรายใดรายหนึ่งอนุมัติ ระบุใบรับรองรูทที่เชื่อถือได้ใน
vendor_required_attestation_certificates.xml
การซ้อนทับทรัพยากร
เรียกใช้การทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ (AOSP 16 ขึ้นไป)
CTS Verifier 16 เพิ่มการรองรับการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ การทดสอบเหล่านี้สามารถดำเนินการได้โดยใช้สคริปต์อัตโนมัติในโฮสต์ แทนที่จะเป็นการ ดำเนินการทดสอบด้วยตนเองในอุปกรณ์ หลังจากเสร็จสิ้นการทดสอบแต่ละครั้ง ระบบจะอัปโหลดผลการทดสอบไปยัง DUT โดยอัตโนมัติและแสดงในแอป CTS Verifier
ส่วนนี้จะอธิบายวิธีเรียกใช้การทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์
เรียกใช้การทดสอบแบบหลายอุปกรณ์
วิธีทำการทดสอบแบบหลายอุปกรณ์
ในเวิร์กสเตชันทดสอบ ให้เปิด
cts-v-host
คอนโซล จากไดเรกทอรีที่คลายแพ็กเกจ CTS-V zip แล้ว./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
จากภายในแอป CTS Verifier ใน DUT ให้คลิกการทดสอบฝั่งโฮสต์ รูปที่ 2 แสดงการทดสอบฝั่งโฮสต์ในแอป CTS Verifier
รูปที่ 2 การทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ในแอป CTS Verifier
ระบบจะแสดงรายการโมดูลการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์สำหรับการทดสอบ
ระบุชื่อของโมดูลทดสอบที่ต้องการเรียกใช้ เช่น โมดูล CompanionDeviceManager จะแสดงเป็น CtsCompanionDeviceManagerMultiDeviceTestCases
เรียกใช้คำสั่งต่อไปนี้ในคอนโซล cts-v-host
run cts-v-host -m test_module_name
เช่น
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
หลังจากที่คอนโซล xTS เรียกใช้การทดสอบเสร็จแล้ว ผลลัพธ์จะปรากฏในแอป CTS Verifier การทดสอบที่มีเครื่องหมายสีเขียวแสดงว่าผ่าน การทดสอบ ที่ทำเครื่องหมายเป็นสีแดงไม่สำเร็จ รูปที่ 3 แสดงตัวอย่างผลการทดสอบ CtsCompanionDeviceManager ดังนี้
รูปที่ 3 ผลการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ในแอป CTS Verifier
แก้ปัญหาการทดสอบแบบหลายอุปกรณ์
ส่วนนี้จะให้ความช่วยเหลือในการแก้ปัญหาที่อาจเกิดขึ้น
แก้ไขปัญหาไม่มีการตอบกลับสำหรับ GetFirmwareVersion ระหว่างการทดสอบ NFC
หากได้รับข้อความ verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
ขณะเรียกใช้การทดสอบแบบหลายอุปกรณ์ แสดงว่าการทดสอบ
เข้าถึงบอร์ด PN532 NFC ไม่ได้
หากต้องการแก้ไขปัญหานี้ ให้ระบุเส้นทางแบบอนุกรมที่บอร์ด NFC PN532 ใช้ในโฮสต์ เช่น dev/ttyUSB1
จากนั้นระบุด้วยตนเองโดยใช้อาร์กิวเมนต์ --module-arg
ในคอนโซล
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
แก้ไขข้อความแสดงข้อผิดพลาด "ธุรกรรมล้มเหลว" ระหว่างการทดสอบ NFC
หากคุณได้รับข้อความ Transaction failed, check device logs for more
information.
สำหรับกรณีทดสอบ NFC ทั้งหมด อาจเป็นเพราะชิป NFC ของ DUT
ตรวจไม่พบ PN532
หากคุณมีอุปกรณ์หลายเครื่องที่เชื่อมต่อกับโฮสต์ และอุปกรณ์บางเครื่องไม่มี PN532 วางอยู่ด้านบน ระบบอาจเลือก DUT ที่ไม่ถูกต้อง ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าการทดสอบ NFC
หากต้องการแก้ไขปัญหานี้ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้
ตั้งค่าหมายเลขซีเรียลของ DUT ที่ถูกต้องในคำสั่งทดสอบฝั่งโฮสต์โดยใช้แฟล็ก
-s
ยกเลิกการเชื่อมต่ออุปกรณ์ทั้งหมดที่ไม่ใช่ DUT จากโฮสต์
ระบบจะไม่สนใจกรณีทดสอบ CDM test_permissions_sync
หากการทดสอบทำงานในอุปกรณ์ที่แก้ไขข้อบกพร่องไม่ได้ ให้ดูว่าคุณได้รับการยกเว้นหรือไม่ หรือตรวจสอบว่าอุปกรณ์ทั้ง 2 เครื่องมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้น