เรียกใช้การทดสอบหลายอุปกรณ์ของโปรแกรมตรวจสอบ CTS

หน้านี้มีวิธีการใช้การทดสอบ CTS Verifier (CTS-V) บนอุปกรณ์หลายเครื่องสำหรับ Android 16 ขึ้นไป

ตั้งค่าการทดสอบอุปกรณ์หลายเครื่องฝั่งโฮสต์

ส่วนนี้จะอธิบายวิธีตั้งค่าการทดสอบหลายอุปกรณ์

  1. ตรวจสอบว่าเครื่องเดสก์ท็อปของคุณเป็นไปตามข้อกำหนดของระบบปฏิบัติการสำหรับ CTS
  2. ทำตามขั้นตอนที่ 2 และ 5 ของติดตั้งซอฟต์แวร์เดสก์ท็อปเพื่อให้แน่ใจว่าได้ติดตั้ง adb, AAPT2 และ Python ในเดสก์ท็อปอย่างถูกต้องแล้ว
  3. เตรียมอุปกรณ์ทดสอบ (DUT) 2 เครื่องที่ตรงกัน โดยแต่ละเครื่องมีการตั้งค่า CTS-V

  4. หากคุณทดสอบโมดูลอื่นที่ไม่ใช่ NFC ให้ทําตามหัวข้อตั้งค่าการทดสอบแบบ 2 อุปกรณ์มาตรฐาน

  5. หากกำลังทดสอบข้อบังคับ CDM ให้ทำตามตั้งค่าการทดสอบ CDM นอกเหนือจากการตั้งค่าอุปกรณ์ 2 เครื่องแบบมาตรฐาน

ตั้งค่าการทดสอบแบบ 2 อุปกรณ์มาตรฐาน

สำหรับการตั้งค่าอุปกรณ์ 2 เครื่องเริ่มต้น

  1. วาง DUT ของ Android 2 เครื่องที่ตรงกันไว้ห่างกันประมาณ 20 ซม.
  2. วางอุปกรณ์ทั้ง 2 เครื่องไว้ในกล่องป้องกันเพื่อให้มีสภาพแวดล้อมที่สะอาด

  3. (ไม่บังคับ) ตั้งค่าโปรแกรมสนิฟ OTA สำหรับการแก้ไขข้อบกพร่อง Wi-Fi

ตั้งค่าการทดสอบ NFC

การทดสอบ NFC ใช้ DUT 1 เครื่องและชิป NFC PN532

วิธีตั้งค่าการทดสอบ NFC

  1. ซื้อชิป NFC PN532 เราขอแนะนำให้ใช้ All-In-One PN532
  2. ไปที่แอปการตั้งค่าในอุปกรณ์ทดสอบ

  3. เปิดใช้ NFC

  4. วางชิป NFC โดยทำดังนี้

    • สำหรับโทรศัพท์ ให้วางตัวอ่าน NFC ของ DUT ดังที่แสดงในรูปที่ 1

      การวางตำแหน่งชิป NFC

      รูปที่ 1 การวางตำแหน่งชิป NFC

    • สำหรับอุปกรณ์ประเภทอื่นๆ ให้วางชิปไว้ข้างเสาอากาศ NFC ของอุปกรณ์

  5. เชื่อมต่อชิป 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

ส่วนนี้จะอธิบายวิธีเรียกใช้การทดสอบหลายอุปกรณ์ฝั่งโฮสต์

ทำการทดสอบหลายอุปกรณ์

วิธีทำการทดสอบหลายอุปกรณ์

  1. ในเวิร์กสเตชันทดสอบ ให้เปิดcts-v-hostคอนโซลจากไดเรกทอรีที่แตกไฟล์ ZIP ของ CTS-V ดังนี้

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. จากภายในแอป CTS Verifier ใน DUT ให้คลิกการทดสอบฝั่งโฮสต์ รูปที่ 2 แสดงการทดสอบฝั่งโฮสต์ในแอป CTS Verifier

    การทดสอบหลายอุปกรณ์ฝั่งโฮสต์ในแอปโปรแกรมตรวจสอบ CTS

    รูปที่ 2 การทดสอบหลายอุปกรณ์ฝั่งโฮสต์ในแอปโปรแกรมตรวจสอบ CTS

    รายการโมดูลการทดสอบหลายอุปกรณ์ฝั่งโฮสต์การทดสอบจะปรากฏขึ้น

  3. ระบุชื่อของข้อบังคับการทดสอบที่ต้องการเรียกใช้ เช่น โมดูล CompanionDeviceManager จะแสดงเป็น CtsCompanionDeviceManagerMultiDeviceTestCases

  4. ในคอนโซล cts-v-host ให้เรียกใช้คำสั่งต่อไปนี้ หมายเหตุ: หากคุณแตะโมดูลฝั่งโฮสต์ในแอป CTS Verifier จะไม่พบรายการเทสเคสแต่ละรายการ แต่ UI จะแสดงผลลัพธ์ของชุดทดสอบโดยอัตโนมัติหลังจากที่มีการเรียกใช้โมดูลบนโฮสต์

  5. ในคอนโซล xTS ให้เรียกใช้คำสั่งต่อไปนี้

    run cts-v-host -m test_module_name
    

    เช่น

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    หลังจากคอนโซล xTS ทำการทดสอบเสร็จแล้ว ผลการทดสอบจะปรากฏในแอป CTS Verifier การทดสอบที่มีเครื่องหมายสีเขียวแสดงว่าผ่าน การทดสอบที่ทําเครื่องหมายสีแดงไว้ไม่สําเร็จ รูปที่ 3 แสดงตัวอย่างผลการทดสอบ CtsCompanionDeviceManager

    ผลลัพธ์การทดสอบหลายอุปกรณ์ฝั่งโฮสต์ในแอป CTS Verifier

    รูปที่ 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 เครื่องมีคุณสมบัติตรงตามข้อกําหนดเบื้องต้น