หน้านี้มีวิธีการใช้การทดสอบ Better Together CTS Verifier (CTS-V) สำหรับ Android 16 QPR2 หรือ สูงกว่า
ตั้งค่าการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์
ส่วนนี้จะอธิบายวิธีตั้งค่าการทดสอบแบบหลายอุปกรณ์
- ตรวจสอบว่าเครื่องเดสก์ท็อปของคุณเป็นไปตามข้อกำหนดของระบบปฏิบัติการ สำหรับ CTS
ทำตามขั้นตอนที่ 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
- Python ของคุณควรเป็นเวอร์ชัน 3.11 ขึ้นไป หากต้องการตรวจสอบเวอร์ชัน Python ให้เรียกใช้
เตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) ที่ตรงกัน 2 เครื่อง โดยแต่ละเครื่องมีการตั้งค่า CTS-V
- ดูข้อมูลเกี่ยวกับการตั้งค่า DUT ได้ที่ตั้งค่า DUT
- ดูวิธีการตั้งค่า CTS-V ได้ที่การตั้งค่า
ไปที่ส่วนการตั้งค่าสำหรับประเภทการทดสอบ
- สำหรับการทดสอบ NFC ให้ไปที่ตั้งค่าการทดสอบ NFC
- สำหรับการทดสอบการเชื่อมต่อ AP ของ Wi-Fi ให้ไปที่ตั้งค่าการทดสอบการเชื่อมต่อ AP ของ Wi-Fi
- หากต้องการทดสอบโมดูล CDM ให้ไปที่ตั้งค่าการทดสอบมาตรฐานแบบ 2 อุปกรณ์ แล้วไปที่ตั้งค่าการทดสอบ CDM
หากการทดสอบของคุณไม่อยู่ในรายการนี้ ให้ไปที่ตั้งค่าการทดสอบมาตรฐานแบบ 2 อุปกรณ์
ตั้งค่าการทดสอบ NFC
การทดสอบ NFC ใช้ DUT 1 ตัวและชิป NFC PN532 1 ตัว
วิธีตั้งค่าการทดสอบ NFC
- ซื้อชิป NFC PN532 เราขอแนะนำให้ใช้ All-In-One PN532
ใน DUT ให้ไปที่แอปการตั้งค่า
เปิดใช้ NFC
วางชิป NFC โดย
สำหรับโทรศัพท์ ให้วางเครื่องอ่าน NFC ของ DUT ตามที่แสดงในรูปที่ 1

รูปที่ 1 การวางตำแหน่งชิป NFC
สำหรับอุปกรณ์ประเภทอื่นๆ ให้วางชิปไว้ข้างเสาอากาศ NFC ของอุปกรณ์
ต่อชิป NFC PN532 เข้ากับเวิร์กสเตชันทดสอบโดยใช้สาย USB
ไม่บังคับ: ตั้งค่าการทดสอบการเชื่อมต่อ AP ของ Wi-Fi
การทดสอบการเชื่อมต่อจุดเข้าใช้งาน (AP) ของ Wi-Fi (CtsWifiConnectionTests) จะทดสอบ
การเชื่อมต่อระหว่าง DUT กับ AP เราขอแนะนำอย่างยิ่งให้คุณเรียกใช้การทดสอบเหล่านี้ แต่ไม่ได้เป็นข้อกำหนดใน CTS-V
Android 16 16 QPR2
การทดสอบเหล่านี้ต้องใช้ DUT และ OpenWrt Banana Pi R3 AP
วิธีตั้งค่าการทดสอบการเชื่อมต่อ AP ของ Wi-Fi
ซื้อและตั้งค่า Banana Pi R3 AP ดูข้อมูลเพิ่มเติมได้ที่ ตั้งค่า Banana Pi BPI-R3 AP
ไม่บังคับ: หากไม่มีกล่องป้องกัน เราขอแนะนำกล่องป้องกัน JTP-SR101 ซื้อกล่องนี้โดยใช้ข้อมูลต่อไปนี้
Dong Guan Zheng Sheng Electronics Technology Co., LTD
Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China
Contact: Forest Pan
Email: forest.pan@jtpmak.cn
Phone (China): +86 18676993556เชื่อมต่อ DUT และ AP กับโฮสต์ แล้ววางไว้ในกล่องป้องกัน RF DUT และ AP ควรห่างกันอย่างน้อย 10 ซม. รูปที่ 2 แสดงการกำหนดค่านี้

รูปที่ 2 DUT และ AP ในกล่องป้องกัน
ใช้ SSH เพื่อยืนยันว่าโฮสต์เข้าถึง AP ได้
ตั้งค่าการทดสอบแบบ 2 อุปกรณ์มาตรฐาน
สำหรับการตั้งค่าเริ่มต้นแบบ 2 อุปกรณ์ ให้ทำดังนี้
- วาง DUT ของ Android 2 เครื่องที่ตรงกันให้ห่างกันประมาณ 20 ซม.
วางอุปกรณ์ทั้ง 2 เครื่องในกล่องป้องกันเพื่อสร้างสภาพแวดล้อมที่สะอาด
ไม่บังคับ: ตั้งค่าเครื่องดมกลิ่น OTA สำหรับการแก้ไขข้อบกพร่องของ Wi-Fi
ตั้งค่าการทดสอบ CDM
test_permissions_sync() กรณีทดสอบมีลักษณะการทำงานที่แตกต่างกันไปตาม
ประเภทบิลด์ของอุปกรณ์ที่ใช้ทดสอบ สิ่งสำคัญคือ OEM ต้องทดสอบบิลด์ที่ทั้งดีบักได้ (userdebug หรือ eng) และดีบักไม่ได้ (user)
และต้องผ่านการทดสอบทั้ง 2 แบบ
การยกเว้น
ข้อกำหนดของ CDD สำหรับการติดตั้งใช้งาน Permissions Sync API กำหนดให้ API สามารถ โอนข้อมูลระหว่างอุปกรณ์ผ่านช่องทางที่ปลอดภัยได้สำเร็จเท่านั้น เนื่องจากการติดตั้งใช้งานช่องทางที่ปลอดภัยไม่ใช่ข้อกำหนดการปฏิบัติตามข้อกำหนด CDD คุณจึงข้ามการทดสอบนี้ได้ในบิลด์ที่ไม่สามารถแก้ไขข้อบกพร่องได้ (ผู้ใช้) แต่จะข้ามได้ก็ต่อเมื่อคุณต้องการเลือกไม่ใช้การรองรับฟีเจอร์การซิงค์สิทธิ์ CDM เท่านั้น
การทดสอบต้องผ่านในบิลด์ที่แก้ไขข้อบกพร่องได้โดยไม่มีข้อยกเว้น
ข้อกำหนดเบื้องต้นสำหรับการทดสอบในบิลด์ที่แก้ไขข้อบกพร่องไม่ได้
หากคุณไม่ได้รับการยกเว้นตามข้อกำหนดการยกเว้นก่อนหน้านี้ ให้ตรวจสอบว่าคุณมีคุณสมบัติตรงตาม ข้อกำหนดเบื้องต้นต่อไปนี้
ช่องทางที่ปลอดภัยใช้ AVF (AttestationVerificationFramework) เพื่อยืนยัน
ความน่าเชื่อถือของฮาร์ดแวร์ การรับรองที่ทั้ง 2 ฝ่ายสร้างขึ้นจะมีข้อมูลหลายอย่างเกี่ยวกับตัวเองเพื่อให้แน่ใจว่าไม่มีการดัดแปลงระบบโดยไม่ได้รับอนุญาต AVF จะตรวจสอบสถานะต่อไปนี้
ในระหว่างกระบวนการยืนยัน
- อุปกรณ์มีสิทธิ์เข้าถึงอินเทอร์เน็ต
- อุปกรณ์ใช้การบูตที่ยืนยันแล้ว และต้องลงนามในบิลด์ด้วยคีย์เวอร์ชันที่เผยแพร่ ไม่ใช่คีย์สำหรับนักพัฒนาซอฟต์แวร์
- อุปกรณ์ล็อก Bootloader อยู่ ดูวิธีการโดยละเอียดได้ที่ การล็อก Bootloader
- ระดับแพตช์ของระบบปฏิบัติการ การเปิดเครื่องด้วยคีย์ และผู้จำหน่ายคีย์อยู่ภายใน 12 เดือน อย่าใช้ บิลด์ที่เก่ากว่า 1 ปี
การรับรองอุปกรณ์ได้รับการสนับสนุนโดยใบรับรองรูทที่ผู้ให้บริการรายใดรายหนึ่งอนุมัติ ระบุใบรับรองรูทที่เชื่อถือได้ใน
vendor_required_attestation_certificates.xmlการซ้อนทับทรัพยากร
เรียกใช้การทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ (AOSP 16 ขึ้นไป)
CTS Verifier 16 เปิดตัวการรองรับการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ การทดสอบเหล่านี้สามารถดำเนินการได้โดยใช้สคริปต์อัตโนมัติในโฮสต์ แทนที่จะเป็นการ ดำเนินการทดสอบด้วยตนเองในอุปกรณ์ หลังจากเสร็จสิ้นการทดสอบแต่ละครั้ง ระบบจะอัปโหลดผลการทดสอบไปยัง DUT โดยอัตโนมัติและแสดงในแอป CTS Verifier
ส่วนนี้จะอธิบายวิธีเรียกใช้การทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์
เรียกใช้การทดสอบแบบหลายอุปกรณ์
วิธีทำการทดสอบแบบหลายอุปกรณ์
ในเวิร์กสเตชันทดสอบ ให้เปิด
cts-v-hostคอนโซล จากไดเรกทอรีที่คลายแพ็กเกจ CTS-V zip แล้ว./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefedจากภายในแอป CTS Verifier ใน DUT ให้คลิกการทดสอบฝั่งโฮสต์ รูปที่ 3 แสดงการทดสอบฝั่งโฮสต์ในแอป CTS Verifier
รูปที่ 3 การทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ในแอป CTS Verifier
ระบบจะแสดงรายการโมดูลการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์สำหรับการทดสอบ
ระบุชื่อของโมดูลทดสอบที่ต้องการเรียกใช้ เช่น โมดูล CompanionDeviceManager จะแสดงเป็น CtsCompanionDeviceManagerMultiDeviceTestCases
เรียกใช้คำสั่งต่อไปนี้ในคอนโซล cts-v-host
run cts-v-host -m test_module_nameเช่น
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCasesหลังจากที่คอนโซล xTS เรียกใช้การทดสอบเสร็จแล้ว ผลลัพธ์จะปรากฏในแอป CTS Verifier การทดสอบที่มีเครื่องหมายสีเขียวแสดงว่าผ่าน การทดสอบ ที่ทำเครื่องหมายเป็นสีแดงไม่สำเร็จ รูปที่ 4 แสดงตัวอย่างผลการทดสอบสำหรับ การทดสอบ CtsCompanionDeviceManager ดังนี้
รูปที่ 4 ผลการทดสอบแบบหลายอุปกรณ์ฝั่งโฮสต์ในแอป CTS Verifier
ไม่บังคับ: ทดสอบการเชื่อมต่อ AP ของ Wi-Fi
ทำตามขั้นตอนต่อไปนี้เพื่อเรียกใช้การทดสอบการเชื่อมต่อ AP ของ Wi-Fi
แก้ไขไฟล์การกำหนดค่า Testbed (
WifiConnectionTestbed.yaml) ไฟล์นี้อยู่ในไดเรกทอรีที่คลายซิป CTS Verifier./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yamlเปลี่ยนค่าของฟิลด์
hostnameเป็นที่อยู่ IP ของ AP โดยอิงตามการตั้งค่า SSH ในเครื่อง หากต้องการระบุที่อยู่ IP โปรดดูค้นหาที่อยู่ IP ของ APตัวอย่างต่อไปนี้แสดงตำแหน่งของฟิลด์
hostnameในไฟล์WifiConnectionTestbed.yamlTestBeds: - Name: WifiConnectionTestbed Controllers: # Specify settings for the AP. OpenWrtDevice: - hostname: AP-IP skip_init_reboot: Trueเรียกใช้คำสั่งต่อไปนี้ในคอนโซล cts-v-host
run everything -m CtsWifiConnectionTests
แก้ปัญหาการทดสอบแบบหลายอุปกรณ์
ส่วนนี้จะให้ความช่วยเหลือในการแก้ปัญหาที่อาจเกิดขึ้น
แก้ไขปัญหาไม่มีการตอบกลับสำหรับ 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 เครื่องมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้น