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

หน้านี้มีวิธีการตั้งค่าและเรียกใช้การทดสอบ Android 16 QPR2 และ Android 17 ฝั่งโฮสต์ของ CTS Verifier (CTS-V) การทดสอบฝั่งโฮสต์มี 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 เราขอแนะนำให้ใช้ All-In-One PN532
  2. ใน DUT ให้ไปที่แอปการตั้งค่า
  3. เปิดใช้ NFC
  4. ตำแหน่งของชิป NFC

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

      ตำแหน่งชิป NFC

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

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

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

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

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

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

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

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

ตัวเลือกที่ 1 ต้องมี Android DUT 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. ไม่บังคับ: ตั้งค่า OTA Sniffer สำหรับการแก้ไขข้อบกพร่อง Wi-Fi

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

กรอบการทดสอบ test_permissions_sync มีลักษณะการทำงานที่แตกต่างกันไปตามประเภทบิลด์ของอุปกรณ์ที่ใช้ทำการทดสอบ OEM ต้องทดสอบบิลด์ทั้งที่แก้ไขข้อบกพร่องได้ (userdebug หรือ eng) และแก้ไขข้อบกพร่องไม่ได้ (user) และการทดสอบต้องผ่านทั้ง 2 แบบ

ไม่ต้องชำระ

ข้อกำหนด CDD สำหรับการใช้งาน 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 มีการทดสอบฝั่งโฮสต์ของ CTS-V สำหรับ USB ที่ต้องใช้ 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 ของฮับภายนอก
  • พอร์ตดาวน์สตรีมการชาร์จ (CDP) แบบ USB BC 1.2 พอร์ตเหล่านี้สามารถจ่ายกระแสไฟ 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

รูปที่ 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 ได้

วิธีแก้ไขปัญหานี้คือระบุเส้นทางแบบอนุกรมที่บอร์ด PN532 NFC ใช้บนโฮสต์ เช่น 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 เครื่องเป็นไปตามข้อกำหนดเบื้องต้น