เรียกใช้การทดสอบ CTS-V

โปรแกรมตรวจสอบชุดเครื่องมือทดสอบความเข้ากันได้ (CTS Verifier) เป็นส่วนเสริมของชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) โดยที่ CTS จะตรวจสอบ API และฟังก์ชันที่สามารถทำงานอัตโนมัติได้ แต่ CTS Verifier จะมีการทดสอบ API และฟังก์ชันที่ไม่สามารถทดสอบในอุปกรณ์ที่อยู่กับที่โดยไม่มีการป้อนข้อมูลหรือการจัดตำแหน่งด้วยตนเอง เช่น คุณภาพเสียง หน้าจอสัมผัส ตัวตรวจวัดความเร่ง และกล้อง

ข้อกำหนด

ก่อนเรียกใช้ CTS Verifier โปรดตรวจสอบว่าคุณมีอุปกรณ์ต่อไปนี้

  • อุปกรณ์ที่ใช้ Android ซึ่งผ่านการตรวจสอบความเข้ากันได้ของ Android API โดยผ่าน CTS ซึ่งเป็นอุปกรณ์ที่อยู่ระหว่างการทดสอบ (DUT)
  • คอมพิวเตอร์ Linux ที่มีพอร์ตที่เข้ากันได้กับ USB 2.0 การเชื่อมต่อทั้งหมดกับ DUT จะผ่านพอร์ตนี้
  • อุปกรณ์ที่ใช้ Android เครื่องที่ 2 ที่มีการใช้งานบลูทูธ, Wi-Fi Direct, Wi-Fi Aware, UWB (หาก DUT รองรับ UWB) และ Host Card Emulation (HCE) ของ NFC ที่เข้ากันได้
  • เราเตอร์ Wi-Fi ที่กำหนดค่าด้วยชื่อและรหัสผ่านของจุดเข้าใช้งาน เราเตอร์ควรมีความสามารถในการยกเลิกการเชื่อมต่อจากอินเทอร์เน็ตโดยไม่ต้องปิดเครื่อง

นอกจากนี้ โปรดเตรียมขาตั้งกล้อง ที่ยึดอุปกรณ์ และระยะทางที่วัดไว้ล่วงหน้าที่จำเป็นสำหรับการทดสอบการวัดระยะทาง (ความใกล้เคียง) สำหรับ UWB, Wi-Fi NAN และ Bluetooth RSSI ดูรายละเอียดได้ที่ การปรับเทียบการตรวจจับการมีอยู่

ข้อกำหนดของ UICC สำหรับการทดสอบ NFC

CTS Verifier มีกรณีทดสอบ NFC ต่อไปนี้

  • Field-off (ใช้ข้อมูลธุรกรรมจาก 0x54)
  • De-select (ใช้ข้อมูลธุรกรรมจาก 0x52)
  • คำสั่ง HCI (0025000000) (ใช้ข้อมูลธุรกรรมจาก 0x02)

การทดสอบเหตุการณ์ธุรกรรมต้องใช้อุปกรณ์ 2 เครื่อง โดยเครื่องหนึ่งต้องมี SecureElement UICC ที่มีกฎการเข้าถึงต่อไปนี้

  • แฮชของ APK ของ CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • ตัวระบุแอปพลิเคชันที่ได้รับอนุญาต (AID) สำหรับการเข้าถึงเหตุการณ์ NFC: 0xA000000476416E64726F696443545341

ในฝั่งอีมูเลเตอร์ เราคาดหวังว่าเหตุการณ์ธุรกรรมจะส่งกิจกรรมที่เกี่ยวข้องไปยังเบื้องหน้า

ตั้งค่า

Android 17 กำหนดให้มีขั้นตอนการตั้งค่า CTS-V เพิ่มเติมเพื่อมอบบทบาทเบราว์เซอร์เริ่มต้น

เปลี่ยนโหมดการไปยังส่วนต่างๆ ของระบบของอุปกรณ์ทดสอบเป็นโหมด 3 ปุ่มโดยทำดังนี้

  1. เปิดการตั้งค่า
  2. ไปที่ระบบ > การโต้ตอบ > โหมดการนำทาง
  3. เลือกโหมดการนำทางแบบใช้ปุ่ม หากมี ให้เลือกโหมด 3 ปุ่ม

วิธีตั้งค่าสภาพแวดล้อมการทดสอบ CTS Verifier

  1. ในคอมพิวเตอร์ Linux ให้ทำดังนี้

    1. ก่อนติดตั้ง CTS Verifier ให้เรียกใช้คำสั่งต่อไปนี้เพื่ออนุญาตการเข้าถึงอินเทอร์เฟซที่ไม่ใช่ SDK
    adb shell settings put global hidden_api_policy 1
    
    1. ติดตั้ง Android Studio

    2. ดาวน์โหลด APK ของ CTS Verifier สำหรับ Android เวอร์ชันที่จะทดสอบ

  2. เชื่อมต่อ DUT กับคอมพิวเตอร์ Linux

  3. จากเทอร์มินัลในคอมพิวเตอร์ Linux ให้ติดตั้ง CtsVerifier.apk ใน DUT โดยใช้คำสั่งต่อไปนี้

    adb install -r -g CtsVerifier.apk
    
  4. สำหรับ Android 10 ขึ้นไป ให้เรียกใช้คำสั่งต่อไปนี้เพื่อให้สิทธิ์แอปในการสร้างรายงาน

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. สำหรับ Android 11 ขึ้นไป ให้เรียกใช้คำสั่งต่อไปนี้เพื่ออนุญาตให้บันทึกรายงานในไดเรกทอรีที่กำหนดเองภายใต้ไดเรกทอรีระดับบนสุดภายนอกของอุปกรณ์

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. สำหรับ Android 13 ขึ้นไป ให้เรียกใช้คำสั่งต่อไปนี้เพื่ออนุญาตการเข้าถึง Test API สำหรับ CTS Verifier

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. สำหรับ Android 14 ขึ้นไป ให้เรียกใช้คำสั่งต่อไปนี้เพื่อให้สิทธิ์แอปในการเปิดหน้าจอ

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. สำหรับ Android 17 ขึ้นไป ให้เรียกใช้คำสั่งต่อไปนี้เพื่อมอบบทบาทเบราว์เซอร์เริ่มต้นให้กับ CTS Verifier

    adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'
    
  9. ตรวจสอบว่า DUT ได้ตั้งค่าวันที่และเวลาของระบบอย่างถูกต้อง

เรียกใช้ CTS Verifier

เปิดแอป CTS Verifier โดยแตะไอคอน CTS Verifier ใน DUT

ไอคอน CTS Verifier ใน Launcher

รูปที่ 1 ไอคอน CTS Verifier

แอปจะแสดงชุดการทดสอบหลายชุดที่พร้อมสำหรับการยืนยันด้วยตนเอง

เมนูการทดสอบของ CTS Verifier

รูปที่ 2 เมนูการทดสอบของ CTS Verifier

การทดสอบแต่ละรายการจะมีชุดองค์ประกอบทั่วไปที่ด้านล่างของหน้าจอ

เครื่องมือตรวจสอบคุณภาพวิดีโอสตรีมมิง

รูปที่ 3 หน้าจอการทดสอบที่มีการไฮไลต์องค์ประกอบการทดสอบทั่วไป

  • ผ่าน (✓) แตะหาก DUT เป็นไปตามข้อกำหนดการทดสอบตามวิธีการในส่วนข้อมูล
  • ข้อมูล (?) แตะเพื่อแสดงวิธีการทดสอบ นอกจากนี้ยังปรากฏขึ้นโดยอัตโนมัติเมื่อเปิดการทดสอบเป็นครั้งแรก
  • ไม่ผ่าน (!) แตะหาก DUT ไม่เป็นไปตามข้อกำหนดการทดสอบตามวิธีการในส่วนข้อมูล

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

ทดสอบโหมดอุปกรณ์เสริม USB สำหรับ 8.0 ขึ้นไป

การทดสอบอุปกรณ์เสริม USB ของ CTS Verifier

รูปที่ 4 ขั้นตอนการทดสอบอุปกรณ์เสริม USB สำหรับ 8.0 ขึ้นไป

การทดสอบอุปกรณ์เสริม USB ของ CTS Verifier

รูปที่ 5 การทดสอบโหมดอุปกรณ์เสริม USB สำหรับ 8.0 ขึ้นไป

ทดสอบโหมดอุปกรณ์เสริม USB สำหรับ 7.x ลงไป

การทดสอบอุปกรณ์เสริม USB ต้องใช้คอมพิวเตอร์ Linux เพื่อเรียกใช้โปรแกรมเครื่องเดสก์ท็อป USB (โฮสต์)

  1. เชื่อมต่อ DUT กับคอมพิวเตอร์ Linux
  2. ในคอมพิวเตอร์ ให้เรียกใช้โปรแกรม cts-usb-accessory จากแพ็กเกจ CTS Verifier โดยใช้คำสั่งต่อไปนี้

    ./cts-usb-accessory
    
  3. รอให้กล่องโต้ตอบปรากฏขึ้นใน DUT แล้วแตะตกลง

    การทดสอบอุปกรณ์เสริม USB ของ CTS Verifier

    รูปที่ 6 การทดสอบอุปกรณ์เสริม USB

  4. ไปที่การทดสอบอุปกรณ์เสริม USB ในแอปพลิเคชัน CTS Verifier ใน DUT

  5. ในคอมพิวเตอร์ ให้ตรวจสอบเอาต์พุตจากคอนโซล ตัวอย่างเอาต์พุต

    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

เรียกใช้ CTS Verifier สำหรับโหมดอื่น

ตั้งแต่ CTS 10 R6 และ CTS 11 R2 เป็นต้นไป CTS Verifier รองรับการทดสอบที่จำเป็นสำหรับอุปกรณ์ที่มีโหมดอื่น หรือสำหรับอุปกรณ์ที่มีโหมดหน้าจอมากกว่า 1 โหมด

ที่ด้านบนของมุมมองรายการหลักใน CTS Verifier จะมีปุ่มให้ผู้ใช้สลับระหว่างโหมดแสดงผลแบบกางออกและพับเก็บ CTS Verifier จะแสดงการทดสอบที่จำเป็นสำหรับโหมดแสดงผลที่เลือก หากต้องการเรียกใช้โหมดอื่นใน CTS Verifier ผู้ใช้ควรเปลี่ยนปุ่มเป็นโหมดแสดงผลที่เหมาะสมและเรียกใช้รายการการทดสอบที่แสดง

สวิตช์สลับ CTS-V

รูปที่ 7 สวิตช์เปิด/ปิดของ CTS Verifier

ระบบจะบันทึกผลการทดสอบแบบพับเก็บไว้ในรายงานเดียวกันกับการทดสอบแบบกางออก ระบบจะเพิ่มคำต่อท้ายให้กับชื่อการทดสอบแต่ละรายการในโหมดพับเก็บเพื่อระบุผลการทดสอบแต่ละรายการจากชุดการทดสอบใด

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

ส่งออกผลลัพธ์

หลังจากทำการทดสอบทั้งหมดเสร็จแล้ว คุณสามารถบันทึกผลลัพธ์เป็นรายงานและดาวน์โหลดลงในคอมพิวเตอร์ได้ ระบบจะประทับเวลาชื่อรายงานโดยอัตโนมัติตามเวลาของระบบ DUT

  1. หากต้องการบันทึกผลการทดสอบ ให้แตะไอคอนบันทึก (ดิสก์) ที่ด้านบนของรายการหมวดหมู่การทดสอบ

  2. รอให้กล่องโต้ตอบที่แสดงเส้นทางไปยังรายงานที่บันทึกไว้ (เช่น /sdcard/verifierReports/ctsVerifierReport-date-time.zip) ปรากฏขึ้น แล้วบันทึกเส้นทาง

  3. เชื่อมต่อ DUT กับคอมพิวเตอร์ Linux

  4. จากโปรแกรมติดตั้ง Android SDK ในคอมพิวเตอร์ Linux ให้ดาวน์โหลดรายงาน จากอุปกรณ์ที่เชื่อมต่อโดยใช้ adb shell content read หรือ adb pull CTSVerifierReportPath

    • สำหรับ Android 7.x ขึ้นไป ให้ดาวน์โหลดรายงานทั้งหมดโดยใช้คำสั่งต่อไปนี้

      adb pull /sdcard/verifierReports
      
    • สำหรับ Android 6.0 ลงไป ให้ดาวน์โหลดรายงานทั้งหมดโดยใช้คำสั่งต่อไปนี้

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • สำหรับ Android 10 ขึ้นไป ให้ดาวน์โหลดรายงานล่าสุดโดยใช้คำสั่งต่อไปนี้ หากใช้ Automotive และอุปกรณ์ที่ทำงานเป็น ผู้ใช้รอง

      adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
      

      วิธีแสดงรายงานทั้งหมดที่พร้อมใช้งานในอุปกรณ์ที่เชื่อมต่อ

        adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
        ```
      
      To download a report from the list, you can specify the Row ID or
      filename. For example:
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
        ```
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip
        ```
      
  5. หากต้องการล้างผลการทดสอบว่าผ่านหรือไม่ผ่าน ให้เลือกผลการทดสอบในแอป CTS Verifier แล้วเลือกเมนู > ล้าง