เรียกใช้การทดสอบฝั่งโฮสต์ของ CTS Verifier

หน้านี้มีวิธีการตั้งค่าและเรียกใช้การทดสอบ CTS Verifier (CTS-V) Android 16 QPR2 และ Android 17 ฝั่งโฮสต์ การทดสอบฝั่งโฮสต์มี 2 ประเภท ได้แก่ การทดสอบแบบหลายอุปกรณ์ (เปิดตัวก่อน Android 17) และการทดสอบแบบอินเทอร์แอกทีฟ (ใหม่ใน Android 17)

  • การทดสอบแบบหลายอุปกรณ์เป็นการทดสอบอัตโนมัติเต็มรูปแบบ
  • การทดสอบแบบอินเทอร์แอกทีฟเป็นการทดสอบแบบกึ่งอัตโนมัติ ซึ่งกำหนดให้คุณต้องทำตามขั้นตอน ด้วยตนเองบางอย่างในอุปกรณ์ภายใต้การทดสอบ (DUT)

นอกเหนือจากการทดสอบแบบอินเทอร์แอกทีฟใหม่แล้ว การทดสอบความแม่นยำของช่วงด้วยตนเองและการทดสอบโทรคมนาคม ยังเป็นการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ และต้องมีการทดสอบการเชื่อมต่อ Wi-Fi

ตั้งค่าการทดสอบฝั่งโฮสต์

ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าการทดสอบฝั่งโฮสต์ (การทดสอบแบบหลายอุปกรณ์ต้องมีการตั้งค่าเพิ่มเติม )

  1. ตรวจสอบว่าเครื่องเดสก์ท็อปเป็นไปตามข้อกำหนดของระบบปฏิบัติการสำหรับ CTS

  2. ทำตามขั้นตอนที่ 2 และ 5 ของติดตั้งซอฟต์แวร์เดสก์ท็อปเพื่อติดตั้งและยืนยัน ว่าได้ติดตั้ง adb, AAPT2 และ Python อย่างถูกต้องในเดสก์ท็อปแล้ว

    • Python เวอร์ชันเดสก์ท็อปควรเป็น 3.11 ขึ้นไป หากต้องการตรวจสอบเวอร์ชัน Python ให้เรียกใช้ python3 --version หากเวอร์ชันต่ำกว่า 3.11 ให้ติดตั้ง Python เวอร์ชันล่าสุดอย่างเป็นทางการ โปรดดูรายละเอียดที่ส่วนการดาวน์โหลดของ python.org

    • การทดสอบบางอย่างกำหนดให้โฮสต์ต้องมีโมดูล Python venv ในระบบ Debian และ Ubuntu อาจไม่ได้ติดตั้งโมดูลนี้โดยค่าเริ่มต้น หากต้องการตรวจสอบว่า Python เวอร์ชันเดสก์ท็อปมีโมดูล venv หรือไม่ ให้เรียกใช้ python3 -m venv venv หากคำสั่งนี้ล้มเหลว ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ทำตามข้อความแจ้งเพื่อติดตั้งpython3.x-venv แพ็กเกจ

หากเรียกใช้เฉพาะการทดสอบแบบอินเทอร์แอกทีฟฝั่งโฮสต์ ให้ไปที่เรียกใช้การทดสอบฝั่งโฮสต์ อย่างไรก็ตาม หากต้องการเรียกใช้การทดสอบแบบหลายอุปกรณ์ ให้ไปที่ตั้งค่าการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์

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

ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์

  1. ตรวจสอบว่าเครื่องเดสก์ท็อปเป็นไปตามข้อกำหนดของระบบปฏิบัติการสำหรับ CTS

  2. ทำตามขั้นตอนที่ 2 และ 5 ของติดตั้งซอฟต์แวร์เดสก์ท็อปเพื่อติดตั้งและยืนยัน ว่าได้ติดตั้ง adb, AAPT2 และ Python อย่างถูกต้องในเดสก์ท็อปแล้ว

    • Python เวอร์ชันเดสก์ท็อปควรเป็น 3.11 ขึ้นไป หากต้องการตรวจสอบเวอร์ชัน Python ให้เรียกใช้ python3 --version หากเวอร์ชันต่ำกว่า 3.11 ให้ติดตั้ง Python เวอร์ชันล่าสุดอย่างเป็นทางการ โปรดดูรายละเอียดที่ส่วนการดาวน์โหลดของ python.org

      • การทดสอบบางอย่างกำหนดให้โฮสต์ต้องมีโมดูล Python venv ในระบบ Debian และ Ubuntu อาจไม่ได้ติดตั้งโมดูลนี้โดยค่าเริ่มต้น หากต้องการตรวจสอบว่า Python เวอร์ชันเดสก์ท็อปมีโมดูล venv หรือไม่ ให้เรียกใช้ python3 -m venv venv หากคำสั่งนี้ล้มเหลว ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ทำตามข้อความแจ้งเพื่อติดตั้งpython3.x-venv แพ็กเกจ
  3. เตรียม DUT 2 เครื่องที่ตรงกัน โดยแต่ละเครื่องมีการตั้งค่า CTS-V

    • ดูรายละเอียดเกี่ยวกับการตั้งค่า DUT ได้ที่หัวข้อตั้งค่า DUT
    • โปรดดูรายละเอียดเกี่ยวกับการตั้งค่า CTS-V ที่การตั้งค่า
  4. ไปที่ส่วนการตั้งค่าสำหรับประเภทการทดสอบของคุณ

หากการทดสอบของคุณไม่อยู่ในรายการนี้ ให้ไปที่ตั้งค่าการทดสอบแบบ 2 อุปกรณ์มาตรฐาน

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

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

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

  1. ซื้อชิป NFC PN532 เราขอแนะนำให้ใช้ PN532 แบบออลอินวัน
  2. ใน DUT ให้ไปที่แอปการตั้งค่า
  3. เปิดใช้ NFC
  4. วางชิป NFC โดย

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

      ตำแหน่งชิป NFC

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

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

  5. ต่อชิป NFC PN532 เข้ากับเวิร์กสเตชันทดสอบโดยใช้สาย USB

ตั้งค่าการทดสอบการเชื่อมต่อ AP ของ Wi-Fi

การทดสอบการเชื่อมต่อจุดเข้าใช้งาน Wi-Fi (AP) (CtsWifiConnectionTests) จะทดสอบ การเชื่อมต่อระหว่าง DUT กับ AP คุณตั้งค่าการทดสอบเหล่านี้ได้ 2 วิธีดังนี้

  • ตัวเลือกที่ 1: ใช้เครือข่าย Wi-Fi ที่มีอยู่ซึ่งคุณตั้งค่าไว้สำหรับ CTS-V
  • ตัวเลือกที่ 2: ตั้งค่าจุดเข้าใช้งาน (AP) ที่ตั้งโปรแกรมได้

สำหรับ Android 17 เราขอแนะนำให้ใช้ตัวเลือกที่ 2 แต่ไม่ได้บังคับ 2 ส่วนต่อไปนี้จะอธิบายแต่ละตัวเลือก

ตัวเลือกที่ 1: ใช้เครือข่าย Wi-Fi ที่มีอยู่ซึ่งคุณตั้งค่าไว้สำหรับ CTS-V

ตัวเลือกที่ 1 ต้องมี DUT ของ Android 1 เครื่องภายในพื้นที่ครอบคลุมเครือข่าย Wi-Fi หาก DUT อยู่ในกล่องป้องกันและเชื่อมต่อกับเครือข่าย Wi-Fi ไม่ได้ ให้นำออกจาก กล่องป้องกัน

ตัวเลือกที่ 2: ตั้งค่า AP ที่ตั้งโปรแกรมได้

วิธีตั้งค่า AP ที่ตั้งโปรแกรมได้สำหรับการทดสอบการเชื่อมต่อ Wi-Fi

  1. ซื้อ Banana Pi R3 AP แล้วตั้งค่า ดูข้อมูลเกี่ยวกับการซื้อ และการตั้งค่า Banana Pi R3 AP ได้ที่ ตั้งค่า Banana Pi BPI-R3 AP

  2. (ไม่บังคับ) หากไม่มีกล่องป้องกัน เราขอแนะนำกล่องป้องกัน JTP-SR101 ซื้อกล่องนี้โดยใช้ข้อมูลต่อไปนี้

    Dong Guan Zheng Sheng Electronics Technology Co., LTD

    Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China

    ติดต่อ: Forest Pan

    อีเมล: forest.pan@jtpmak.cn

    โทรศัพท์ (จีน): +86 18676993556

  3. เชื่อมต่อ DUT และ AP กับโฮสต์ แล้ววางไว้ในกล่องป้องกัน RF DUT และ AP ควรห่างกันอย่างน้อย 10 ซม. รูปที่ 2 แสดงการกำหนดค่านี้

    DUT และ AP ในกล่องป้องกัน

    รูปที่ 2 DUT และ AP ในกล่องโล่

  4. ใช้ SSH เพื่อยืนยันว่าโฮสต์เข้าถึง AP ได้

ตั้งค่าการทดสอบความแม่นยำของการวัดระยะ

วิธีตั้งค่าการทดสอบความแม่นยำของระยะ

  1. วาง DUT ของ Android ที่ตรงกัน 2 เครื่องห่างกัน 1 เมตรในระดับความสูงเดียวกัน โดยมี แนวสายตาตรง และหันด้านหลังของอุปกรณ์แต่ละเครื่องเข้าหากัน รูปที่ 3 แสดงการวางแนวนี้

    การวางแนวของอุปกรณ์

    รูปที่ 3 การวางแนวอุปกรณ์

  2. เชื่อมต่ออุปกรณ์ทั้งสองกับคอมพิวเตอร์เดสก์ท็อปผ่านสาย USB

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

สำหรับการตั้งค่าเริ่มต้นแบบ 2 อุปกรณ์ ให้ทำดังนี้

  1. วาง DUT ของ Android 2 เครื่องที่ตรงกันให้ห่างกันประมาณ 20 ซม.

  2. แนะนำอย่างยิ่ง: วางอุปกรณ์ทั้ง 2 เครื่องในกล่องป้องกัน กล่องป้องกัน ช่วยเพิ่มความเสถียรในการทดสอบและทำให้การแก้ไขข้อบกพร่องของการทดสอบที่ล้มเหลวทำได้ง่ายขึ้น

  3. สำหรับการทดสอบโทรคมนาคม DUT แต่ละเครื่องต้องมีซิมการ์ดและสัญญาณมือถือ หาก DUT อยู่ในกล่องป้องกัน ต้องต่อสัญญาณโทรศัพท์มือถือเข้ากับกล่อง หรือย้ายอุปกรณ์ออกจากกล่องป้องกัน

  4. ไม่บังคับ: ตั้งค่า Sniffer OTA สำหรับการแก้ไขข้อบกพร่องของ Wi-Fi

ตั้งค่าการทดสอบ 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การซ้อนทับทรัพยากร

เรียกใช้การทดสอบฝั่งโฮสต์

การทดสอบแบบหลายอุปกรณ์บางอย่าง เช่น การทดสอบ NFC ต้องมีการตั้งค่าเพิ่มเติม สำหรับการทดสอบ ที่ต้องมีการตั้งค่าเพิ่มเติม ระบบจะเรียกใช้การทดสอบแต่ละรายการแยกกัน สำหรับการทดสอบที่ไม่ต้องมีการตั้งค่าเพิ่มเติม คุณสามารถทำการทดสอบในกลุ่มได้

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

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

    การทดสอบฝั่งโฮสต์ในแอป CTS-V

    รูปที่ 4 การทดสอบฝั่งโฮสต์ในแอป CTS-V

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

  3. ในคอนโซลโฮสต์ CTS-V ให้ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้การทดสอบแบบหลายอุปกรณ์ ที่ใช้การตั้งค่ามาตรฐานแบบ 2 อุปกรณ์

    run cts-v-host-multidevice-default
    

    ผลลัพธ์จะปรากฏใต้โมดูลการทดสอบแต่ละโมดูลในแอป CTS-V บน DUT การทดสอบ ที่ทำเครื่องหมายเป็นสีเขียวผ่านแล้ว ส่วนการทดสอบที่ทำเครื่องหมายเป็นสีแดงไม่ผ่าน

    รูปที่ 5 แสดงตัวอย่างผลลัพธ์สำหรับการทดสอบ CtsCompanionDeviceManager

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

    รูปที่ 5 ผลการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ในแอป CTS-V

  4. ในคอนโซลโฮสต์ CTS-V ให้ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้การทดสอบแบบอินเทอร์แอกทีฟ

    run cts-v-host-interactive
    

    ผลลัพธ์จะปรากฏใต้โมดูลการทดสอบแต่ละโมดูลในแอป CTS-V บน DUT การทดสอบ ที่ทำเครื่องหมายเป็นสีเขียวผ่านแล้ว ส่วนการทดสอบที่ทำเครื่องหมายเป็นสีแดงไม่ผ่าน

  5. สำหรับการทดสอบแต่ละรายการที่ต้องมีการตั้งค่าเพิ่มเติม ให้เรียกใช้การทดสอบแยกกันโดยใช้คำสั่งต่อไปนี้

    run cts-v-host -m test_module_name
    

    เช่น หากต้องการเรียกใช้การทดสอบ NFC ให้ใช้คำสั่งนี้

    run cts-v-host -m CtsNfcHceMultiDeviceTestCases
    

    ผลลัพธ์จะปรากฏใต้โมดูลการทดสอบแต่ละโมดูลในแอป CTS-V บน DUT การทดสอบ ที่ทำเครื่องหมายเป็นสีเขียวผ่านแล้ว ส่วนการทดสอบที่ทำเครื่องหมายเป็นสีแดงไม่ผ่าน

เรียกใช้การทดสอบการเชื่อมต่อ AP ของ Wi-Fi

คุณเรียกใช้การทดสอบการเชื่อมต่อ AP ของ Wi-Fi ได้ 2 วิธีดังนี้

  • ตัวเลือกที่ 1: ใช้เครือข่าย Wi-Fi ที่มีอยู่ซึ่งคุณตั้งค่าไว้สำหรับ CTS-V
  • ตัวเลือกที่ 2: ตั้งค่า AP ที่ตั้งโปรแกรมได้

ตัวเลือกที่ 1: ใช้เครือข่าย Wi-Fi ที่มีอยู่ซึ่งคุณตั้งค่าไว้สำหรับ CTS-V

วิธีเรียกใช้การทดสอบการเชื่อมต่อ Wi-Fi AP ในเครือข่าย Wi-Fi ที่มีอยู่

  1. แก้ไขไฟล์การกำหนดค่า Testbed (WifiConnectionTestbed.yaml) ไฟล์นี้อยู่ในไดเรกทอรีที่คลายซิป CTS Verifier เช่น

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. เปลี่ยนค่าของฟิลด์ wifi_ssid และ wifi_password เป็น SSID และรหัสผ่านของเครือข่าย Wi-Fi ตัวอย่างต่อไปนี้แสดงตำแหน่ง ของการตั้งค่าเหล่านี้

    TestBeds:
    -   Name: WifiConnectionTestbed
    Controllers:
      AndroidDevice: '*'
    TestParams:
      use_programmable_ap: False
      wifi_ssid: WIFI-SSID
      wifi_password: WIFI-PASSWORD
    
  3. เรียกใช้คำสั่งต่อไปนี้ในคอนโซลโฮสต์ CTS-V

    run cts-v-host -m CtsWifiConnectionTests
    

ตัวเลือกที่ 2: เรียกใช้ด้วย AP ที่ตั้งโปรแกรมได้

วิธีทำการทดสอบการเชื่อมต่อ AP ของ Wi-Fi ใน AP ที่ตั้งโปรแกรมได้

  1. แก้ไขไฟล์การกำหนดค่า Testbed (WifiConnectionTestbed.yaml) ไฟล์นี้อยู่ในไดเรกทอรีที่คลายซิป CTS Verifier เช่น

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. เปลี่ยนค่าของ hostname เป็นที่อยู่ IP ของ AP โดยอิงตาม การตั้งค่า SSH ในพื้นที่ หากต้องการระบุที่อยู่ IP โปรดดูค้นหาที่อยู่ IP ของ AP ตัวอย่างต่อไปนี้แสดงตำแหน่งของการตั้งค่า hostname

    TestBeds:
    -   Name: WifiConnectionTestbed
      Controllers:
        AndroidDevice: '*'
        # Specify settings for the AP.
        OpenWrtDevice:
        -   hostname: AP-IP
          skip_init_reboot: True
      TestParams:
        use_programmable_ap: True
    
  3. เรียกใช้คำสั่งต่อไปนี้ในคอนโซลโฮสต์ CTS-V

    run cts-v-host -m CtsWifiConnectionTests
    

เรียกใช้การทดสอบฝั่งโฮสต์ของ USB

Android 17 มีการทดสอบฝั่งโฮสต์ของ USB CTS-V ที่ต้องใช้ adb ผ่าน Wi-Fi เพื่อ เรียกใช้

การทดสอบ USB บางอย่างต้องใช้โฮสต์ CTS-V เพื่อเข้าถึง SystemAPI ที่มีสิทธิ์ซึ่งแอป CTS-V ปกติเข้าถึงไม่ได้ การทดสอบเหล่านี้เป็นแบบไม่ผูกมัด และต้องใช้ adb ผ่าน Wi-Fi

คุณต้องใช้อุปกรณ์เสริม Type-C ต่อไปนี้หาก DUT รองรับการรายงานประเภทพาร์ทเนอร์พอร์ต BC 1.2 หรือโปรไฟล์การจ่ายไฟ USB ใน UsbPort.java

  • ที่ชาร์จ USB Type-C Power Delivery (PD)
  • พอร์ตดาวน์สตรีมมาตรฐาน (SDP) สำหรับการชาร์จแบตเตอรี่ผ่าน USB 1.2 (BC 1.2) พอร์ตเหล่านี้ จำกัดการจ่ายไฟ 500 mA หรือ 900 mA ให้กับ DUT และ มักพบในพอร์ต USB ของฮับภายนอก
  • พอร์ตดาวน์สตรีมการชาร์จ USB BC 1.2 (CDP) พอร์ตเหล่านี้สามารถจ่ายกระแสไฟ 1.5 A ให้กับ DUT และข้อมูลได้ พอร์ต Type-C ในแล็ปท็อปหรือ คอมพิวเตอร์มักจะเป็น CDP
  • พอร์ตชาร์จเฉพาะ (DCP) ของ USB BC 1.2 พอร์ตเหล่านี้สามารถจ่ายกระแสไฟ 1.5 A ให้กับ DUT ได้โดยไม่ต้องใช้ข้อมูล ที่ชาร์จ USB Type-C PD ใน รายการนี้มีแนวโน้มที่จะเป็น DCP
  1. เชื่อมต่อ DUT โดยใช้ adb ผ่าน Wi-Fi ดูรายละเอียดการตั้งค่าได้ที่หัวข้อ เชื่อมต่อกับอุปกรณ์ผ่าน Wi-Fi

  2. ถอดอุปกรณ์ออกจากพอร์ต USB ทั้งหมด การทดสอบจะล้มเหลวหาก อุปกรณ์เชื่อมต่อกับโฮสต์ USB หรืออุปกรณ์เสริมใดๆ เมื่อเรียกใช้คำสั่งทดสอบ

  3. เรียกใช้คำสั่งทดสอบต่อไปนี้

    run cts-v-host -m CtsUsbTypecTestCases
    

หลังจากการทดสอบ ผลลัพธ์จะปรากฏในแอป CTS-V ในส่วนการทดสอบฝั่งโฮสต์ตามที่แสดงในรูปต่อไปนี้

การทดสอบ USB ฝั่งโฮสต์ใน CTS-V
app

รูปที่ 6 การทดสอบ USB ฝั่งโฮสต์ในแอป CTS-V

ชุดทดสอบ CtsUsbTypecTestCases ในแอป USB CTS-V
 ฝั่งโฮสต์

รูปที่ 7 ชุดทดสอบ CtsUsbTypecTestCases ในแอป USB CTS-V ฝั่งโฮสต์

แก้ปัญหาการทดสอบแบบหลายอุปกรณ์

ส่วนนี้จะช่วยคุณแก้ปัญหาที่พบได้ทั่วไป

ไม่สามารถรับหมายเลขโทรศัพท์ระหว่าง CtsTelecomTest

หากคุณได้รับข้อความแสดงข้อผิดพลาด Failed to get phone number for <serial> ให้ทำตามขั้นตอนต่อไปนี้

  1. ตรวจสอบว่า DUT แต่ละเครื่องติดตั้งซิมการ์ดแล้ว

  2. หากข้อผิดพลาดยังคงอยู่ ซิมการ์ดอาจไม่รองรับการดึงหมายเลขอัตโนมัติ ในกรณีนี้ คุณต้องระบุหมายเลขโทรศัพท์อย่างชัดเจนใน คำสั่ง

    เช่น สำหรับ DUT 1 (ซีเรียล 17011FDEE0002N หมายเลขโทรศัพท์ 555-0000) และ DUT 2 (ซีเรียล R3CN90YNAR หมายเลขโทรศัพท์ 555-1111) ให้ต่อท้าย อาร์กิวเมนต์ต่อไปนี้กับคำสั่ง run cts-v-host

    --module-arg CtsTelecomTest:dut_serial:17011FDEE0002N \
    --module-arg CtsTelecomTest:dut_phone_number:555-0000 \
    --module-arg CtsTelecomTest:ref_phone_number:555-1111
    

ไม่มีการตอบกลับจากเซิร์ฟเวอร์ระหว่าง CtsMultiDeviceGenericRangingAccuracyTests

หากได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ แอปทดสอบอาจถูกระงับหรือปิด โดยการจัดการกระบวนการพื้นหลังเฉพาะ OEM ในอุปกรณ์บางรุ่น

mobly.snippet.errors.ProtocolError: <AndroidDevice|Initiator> No response from server. Check the device logcat for crashes.

หากต้องการแก้ไขปัญหานี้ ให้ปิดใช้การจำกัดพื้นหลังหรือเพิ่มแพ็กเกจต่อไปนี้ลงในรายการที่อนุญาต

แพ็กเกจ ชื่อที่แสดง
com.google.snippet.uwb CtsUwbSnippetApp
com.google.snippet.ranging CtsRangingSnippetApp
com.google.snippet.bluetooth CtsBluetoothMultiDeviceSnippetApp
com.google.android.mobly.snippet.bundled androidx.multidex.MultDexApplication

แก้ไขปัญหาไม่มีการตอบกลับสำหรับ 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 เครื่องเป็นไปตามข้อกำหนดเบื้องต้น