หน้านี้มีวิธีการใช้การทดสอบ 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 เราขอแนะนำให้ใช้ All-In-One PN532
ไปที่แอปการตั้งค่าในอุปกรณ์ทดสอบ
เปิดใช้ NFC
วางชิป NFC โดยทำดังนี้
สำหรับโทรศัพท์ ให้วางตัวอ่าน NFC ของ DUT ดังที่แสดงในรูปที่ 1
รูปที่ 1 การวางตำแหน่งชิป NFC
สำหรับอุปกรณ์ประเภทอื่นๆ ให้วางชิปไว้ข้างเสาอากาศ NFC ของอุปกรณ์
เชื่อมต่อชิป NFC PN532 กับเวิร์กสเตชันการทดสอบโดยใช้สาย USB
ตั้งค่าการทดสอบ CDM
กรณีทดสอบ test_permissions_sync()
มีลักษณะการทำงานแตกต่างกันไปโดยขึ้นอยู่กับประเภทบิลด์ของอุปกรณ์ที่ใช้ทดสอบ OEM ต้องทดสอบบิลด์ที่แก้ไขข้อบกพร่องได้ (userdebug หรือ eng) และบิลด์ที่แก้ไขข้อบกพร่องไม่ได้ (user) ทั้ง 2 ประเภท และทดสอบผ่านทั้ง 2 ประเภท
การยกเว้น
ประโยค CDD สำหรับการติดตั้งใช้งาน API การซิงค์สิทธิ์กำหนดให้ API ดังกล่าวสามารถโอนข้อมูลระหว่างอุปกรณ์ผ่านช่องทางที่ปลอดภัยได้สำเร็จเท่านั้น เนื่องจากการใช้งานช่องทางที่ปลอดภัยไม่ใช่ข้อกำหนดในการปฏิบัติตามข้อกำหนด CDD คุณจึงข้ามการทดสอบนี้ในบิลด์ (ผู้ใช้) ที่แก้ไขข้อบกพร่องไม่ได้ได้ แต่จะข้ามได้ก็ต่อเมื่อคุณเลือกไม่รองรับฟีเจอร์การซิงค์สิทธิ์ CDM เท่านั้น
การทดสอบต้องผ่านในบิลด์ที่แก้ไขข้อบกพร่องได้โดยไม่มีข้อยกเว้น
ข้อกําหนดเบื้องต้นสําหรับการทดสอบในบิลด์ที่แก้ไขข้อบกพร่องไม่ได้
หากคุณไม่ได้รับการยกเว้นตามประโยคยกเว้นก่อนหน้านี้ โปรดตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกําหนดเบื้องต้นต่อไปนี้
ช่องทางที่ปลอดภัยจะใช้ AVF (AttestationVerificationFramework
) เพื่อยืนยันความน่าเชื่อถือของฮาร์ดแวร์ การรับรองที่ทั้ง 2 ฝ่ายสร้างขึ้นจะมีข้อมูลหลายรายการเกี่ยวกับตนเองเพื่อให้มั่นใจว่าไม่มีการเปลี่ยนแปลงที่ไม่ได้รับอนุญาตในระบบ AVF จะตรวจสอบสถานะต่อไปนี้ในระหว่างกระบวนการยืนยัน
- อุปกรณ์มีสิทธิ์เข้าถึงอินเทอร์เน็ต
- อุปกรณ์ใช้การบูตที่ยืนยันแล้ว และบิลด์ต้องได้รับการรับรองด้วยคีย์รุ่น ไม่ใช่คีย์สำหรับนักพัฒนาซอฟต์แวร์
- อุปกรณ์ล็อก Bootloader อยู่ ดูวิธีการโดยละเอียดได้ที่หัวข้อการล็อกโปรแกรมโหลดบูต
- ระดับแพตช์ของระบบปฏิบัติการ การเปิดเครื่องที่สำคัญ และตัวแทนจำหน่ายหลักอยู่ภายใน 12 เดือน อย่าใช้บิลด์ที่เก่ากว่า 1 ปี
การรับรองอุปกรณ์ได้รับการสนับสนุนโดยใบรับรองรูทที่ผู้ให้บริการอนุมัติ ระบุใบรับรองรูทที่เชื่อถือได้ในการวางซ้อนทรัพยากร
vendor_required_attestation_certificates.xml
เรียกใช้การทดสอบหลายอุปกรณ์ฝั่งโฮสต์ (AOSP 16 ขึ้นไป)
CTS Verifier 16 รองรับการทดสอบอุปกรณ์หลายเครื่องฝั่งโฮสต์ การทดสอบเหล่านี้จะทํางานได้โดยใช้สคริปต์อัตโนมัติบนโฮสต์แทนการดําเนินการทดสอบด้วยตนเองในอุปกรณ์ หลังจากการทดสอบแต่ละครั้งเสร็จสิ้น ระบบจะอัปโหลดผลลัพธ์ไปยัง DUT โดยอัตโนมัติและแสดงในแอป CTS Verifier
ส่วนนี้จะอธิบายวิธีเรียกใช้การทดสอบหลายอุปกรณ์ฝั่งโฮสต์
ทำการทดสอบหลายอุปกรณ์
วิธีทำการทดสอบหลายอุปกรณ์
ในเวิร์กสเตชันทดสอบ ให้เปิด
cts-v-host
คอนโซลจากไดเรกทอรีที่แตกไฟล์ ZIP ของ CTS-V ดังนี้./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
จากภายในแอป CTS Verifier ใน DUT ให้คลิกการทดสอบฝั่งโฮสต์ รูปที่ 2 แสดงการทดสอบฝั่งโฮสต์ในแอป CTS Verifier
รูปที่ 2 การทดสอบหลายอุปกรณ์ฝั่งโฮสต์ในแอปโปรแกรมตรวจสอบ CTS
รายการโมดูลการทดสอบหลายอุปกรณ์ฝั่งโฮสต์การทดสอบจะปรากฏขึ้น
ระบุชื่อของข้อบังคับการทดสอบที่ต้องการเรียกใช้ เช่น โมดูล CompanionDeviceManager จะแสดงเป็น CtsCompanionDeviceManagerMultiDeviceTestCases
ในคอนโซล cts-v-host ให้เรียกใช้คำสั่งต่อไปนี้ หมายเหตุ: หากคุณแตะโมดูลฝั่งโฮสต์ในแอป CTS Verifier จะไม่พบรายการเทสเคสแต่ละรายการ แต่ UI จะแสดงผลลัพธ์ของชุดทดสอบโดยอัตโนมัติหลังจากที่มีการเรียกใช้โมดูลบนโฮสต์
ในคอนโซล xTS ให้เรียกใช้คำสั่งต่อไปนี้
run cts-v-host -m test_module_name
เช่น
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
หลังจากคอนโซล xTS ทำการทดสอบเสร็จแล้ว ผลการทดสอบจะปรากฏในแอป CTS Verifier การทดสอบที่มีเครื่องหมายสีเขียวแสดงว่าผ่าน การทดสอบที่ทําเครื่องหมายสีแดงไว้ไม่สําเร็จ รูปที่ 3 แสดงตัวอย่างผลการทดสอบ CtsCompanionDeviceManager
รูปที่ 3 ผลลัพธ์การทดสอบหลายอุปกรณ์ฝั่งโฮสต์ในแอปผู้ตรวจสอบ CTS
แก้ปัญหาการทดสอบหลายอุปกรณ์
ส่วนนี้จะให้ความช่วยเหลือในการแก้ปัญหาที่อาจเกิดขึ้น
แก้ไขการไม่ตอบกลับสําหรับ GetFirmwareVersion ระหว่างการทดสอบ NFC
หากคุณได้รับข้อความ verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
ขณะทำการทดสอบหลายอุปกรณ์ แสดงว่าระบบทดสอบเข้าถึงแผง NFC PN532 ไม่ได้
วิธีแก้ไขปัญหานี้คือให้ระบุเส้นทางซีเรียลที่ใช้โดยบอร์ด 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 ที่ถูกต้องในคำสั่งทดสอบฝั่งโฮสต์โดยใช้ Flag
-s
ยกเลิกการเชื่อมต่ออุปกรณ์ที่ไม่ใช่ DUT ทั้งหมดจากโฮสต์
ระบบจะไม่สนใจกรณีทดสอบ CDM test_permissions_sync
หากการทดสอบดำเนินการในอุปกรณ์ที่แก้ไขข้อบกพร่องไม่ได้ ให้ดูว่าคุณได้รับการยกเว้นหรือไม่ หรือตรวจสอบว่าอุปกรณ์ทั้ง 2 เครื่องมีคุณสมบัติตรงตามข้อกําหนดเบื้องต้น